linux占用buff/cache内存的问题解决办法

原创
2018/12/21 09:04
阅读数 459

对于磁盘IO比较大的服务器,运行一段时间发现可以内存非常低

free -m

发现buff/cache占用非常高,而且没有释放。

在网上很多文章建议通过下面的命令来手动释放占用的空间

sync
echo 1 > /proc/sys/vm/drop_caches

但是这个方法只能暂时解决空间占用的问题,也可以通过AT指令来周期执行这个命令来释放空间

另一种是通过系统参数来解决,该参数强制系统预留多大的空闲空间

vm.min_free_kbytes = 836787 #1G

原理是kswapd 进程监视free空间,如果小于min设定的值,那么kswapd 进程启动,释放buff/cache空间,这个时候系统将会hold住,如果IO比较频繁的话可能会引起卡顿。

可以根据自己的实际情况来设定这个参数的大小。

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部