linux系统释放cache,linux 内存cache的释放

线上服务器出现了, 内存占用过高, 导致服务器卡顿的情况。 出现问题时的内存占用情况如下图:

99135b3ae0d4?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

memory.PNG

通过上图可以看到, cached内存占用了10G 左右,free memory可用内存大概在192M 左右, 这个时候明显内存已经不够用了, 但是系统并没有自动释放cache page.

然后在测试环境做了一个实验:手动释放cache page, 看是否能够释放。

99135b3ae0d4?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

memtest.PNG

得出结论, tomcat服务器所占用的cache page, 是可以被释放的。 那么系统能否主动去释放cache page呢。 进一步调查, 可以发现,系统是可以自动释放cache page的, 条件是当free memory 小于一个阈值 min_free_kbytes. 这个值查看了一下, 系统默认是66M。 这也是为什么线上服务器会出现cache page不被释放的原因。 因为还剩192M, 没有达到这个阈值。 但是这时系统已经hang了。

具体min_free_kbytes的设置要进行微调,高了低了都不好。 低了就是今天出现的这种情况,已经没有内存可用了, 但是cache page也得不到释放。 高了就可能出现内存的浪费, 并且很容易频繁触发cache 的释放,影响性能。

目前在16G内存的机器上,先设置成了512M, 8G内存的机器上上设置成了256M。先看看效果如何吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值