对于磁盘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比较频繁的话可能会引发卡顿。方法
能够根据本身的实际状况来设定这个参数的大小。时间