1. 程式人生 > >Docker長期執行導致Linux記憶體buff/caches佔用過高的解決方法

Docker長期執行導致Linux記憶體buff/caches佔用過高的解決方法

Docker長期執行導致Linux記憶體buff/caches佔用過高,這個問題很常見,但是我們是無法控制Docker自己對pagecache的處理機制的。

我們可以手工執行以下命令進行對buff/caches的清理:

# 表示清除pagecache (執行後問題得以解決)
echo 1 > /proc/sys/vm/drop_caches

# 表示清除回收slab分配器中的物件(包括目錄項快取和inode快取)
# slab分配器是核心中管理記憶體的一種機制,其中很多快取資料實現都是用的pagecache
echo 2 > /proc/sys/vm/drop_caches

# 表示清除pagecache和slab分配器中的快取物件 (這個可以的)
echo 3 > /proc/sys/vm/drop_caches

當然我們也可以寫一個指令碼然後定時執行即