iT邦幫忙

0

記憶體使用量疑問?

ram

在top內看到的used 約佔4G
https://ithelp.ithome.com.tw/upload/images/20180206/20104667Hh2jtAzai6.png

可是看cacti節錄出來的資料 可用記憶體約剩200MB,其餘都被cache給佔住了快10G
https://ithelp.ithome.com.tw/upload/images/20180206/201046672U1KGwENaJ.png

那這樣的話到底要不要把buff/cache算在吃的記憶體裡面?
為何被buff/cache的記憶體量那麼大 算是linux本來設計就這樣嗎?

使用單位說這台記憶體會用到近百G
但是我長期觀察used都是4G 所以要用資料去打臉

黃彥儒 iT邦好手 1 級 ‧ 2018-02-06 16:18:11 檢舉
Linux本來的設計就是能吃的記憶體盡量吃

1 個回答

1
raytracy
iT邦大神 1 級 ‧ 2018-02-06 16:39:12
最佳解答

Linux 的 Disk Cache 佔 RAM 比率是可以自行調整的:
Better Linux Disk Caching & Performance with vm.dirty_ratio & vm.dirty_background_ratio

Cache 會吃滿也是正常, 如果有人允許他這麼做的話....

如果你有權限可以登入的話, 這個指令可以把 Cache 清空:

echo 3 | sudo tee /proc/sys/vm/drop_caches
hsiang11 iT邦研究生 4 級 ‧ 2018-02-06 17:04:18 檢舉

那Cache的設計是佔記憶體空間還是Disk空間?
我想釐清的觀念是Cache到底要不要算在used ram裡面?
還是Cache就只當是暫存,清掉就沒事了

raytracy iT邦大神 1 級 ‧ 2018-02-06 17:32:14 檢舉

佔 RAM 才會叫 Cache, 放進 Disk 就不叫 cache 了...

計算 Used RAM 時不會包含 Cache 容量...

Cache 會隨時動態調整容量, 如果 AP/Kernel 需要用到 RAM 的話, Cache 會自動釋出已經占用的部分, 把 RAM 還給 Ap/Kernel 去使用...

這邊有比較簡單的說明:
Linux ate my RAM!!

我要發表回答

立即登入回答