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

对于磁盘IO比较大的服务器,运行一段时间发现能够内存很是低服务器

free -m

发现buff/cache占用很是高,并且没有释放。code

在网上不少文章建议经过下面的命令来手动释放占用的空间进程

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

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

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

vm.min_free_kbytes = 836787 #1G

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

能够根据本身的实际状况来设定这个参数的大小。时间

相关文章
相关标签/搜索