Linux下内存buff/cache占用过多问题解决

  • 2019 年 10 月 6 日
  • 笔记

在Linux下经常会遇到buff/cache内存占用过多问题,尤其是使用云主机的时候最严重,由于很多是虚拟内存,因此如果buff/cache占用过大的,free空闲内存就很少,影响使用;

通常内存关系是:

普通机器:total=used+free

虚拟机器:total=used+free+buff/cache

比如说用腾讯云主机,就是total=used+free+buff/cache,如下图所示:

这个时候可以看到buff/cache占用的内存非常大,

这个时候可以使用一下命令去清除一下cache内存

echo 1 > /proc/sys/vm/drop_caches

echo 2 > /proc/sys/vm/drop_caches

echo 3 > /proc/sys/vm/drop_caches

drop_caches的值可以是0-3之间的数字,代表不同的含义: 0:不释放(系统默认值) 1:释放页缓存 2:释放dentries和inodes 3:释放所有缓存

如下图所示:

可以看到通过三次清除,内存由738变成了94,free内存增加了!

关于运维学习、分享、交流,笔者开通了微信公众号【运维猫】,感兴趣的朋友可以关注下,欢迎加入,建立属于我们自己的小圈子,一起学运维知识。