最近管理着linux服务器,经常时不时很卡,free -m 查看后发现,used占用很少,但是cached几乎占用所用内存,free只剩下不到百m的内存。导致上传svn上传文件,ssh登录都很慢甚至超时。
linux中有着自己的内存机制,cached会缓存一些文件系统,排查代码发现系统经常使用rsync同步文件,每次同步的文件不同导致cached越来越大,
可以修改/proc/sys/vm/drop_caches 文件来清除缓存
默认是0,1表示清空页缓存,2表示清空inode和目录树缓存,3清空所有的缓存
echo 1 > /proc/sys/vm/drop_caches
echo 2 > /proc/sys/vm/drop_caches
echo 3 > /proc/sys/vm/drop_caches
根据需要清除缓存,设置后系统不允许重新设为0了,不过重启系统后默认又是为0
在执行下free -m 可以看到cached变小了,free变多了
所有评论(0)