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記憶體增加了!

關於運維學習、分享、交流,筆者開通了微信公眾號【運維貓】,感興趣的朋友可以關注下,歡迎加入,建立屬於我們自己的小圈子,一起學運維知識。