看似無處不在的高 RAM 和交換使用率
(Manjaro 20、Linux 5.8.3、KDE、這台筆記型電腦)
當我的系統發生相當多的事情時,RAM 和交換的使用率通常會比它應該的高得多。例如,目前我有一個執行著一個虛擬機的虛擬機和兩個 Minecraft 實例,還有一些更小的東西,比如音樂。這聽起來可能很多,但我的 CPU 完全沒問題,甚至任務管理器中顯示的所有 RAM 使用量的總和似乎都小於 2GB。儘管如此,我幾乎所有的 16GB RAM 和 16GB 交換空間都被……什麼東西使用了。
這是的輸出
free
:total used free shared buff/cache available Mem: 15898 15218 151 305 527 92 Swap: 17490 16442 1047
在任務管理器中可以看到這張平靜得多的畫面:
我在這裡讀到,有時虛擬化會導致奇怪的 RAM 問題,但我的外部 VM 限制為 8GB。即使它以某種方式使用了所有這些而沒有在任務管理器中顯示它,它仍然無法解釋我大約四分之一的 RAM 使用量和任何交換使用量。
free
表明我不應該責怪記憶體(一次)。我聽說無法及時完成的磁碟 I/O 會在 RAM 中排隊,但
iotop
沒有顯示任何過度活躍的情況。這也不僅僅是一個測量錯誤,由於這個原因,我確實在幾乎所有事情上都會出現滯後峰值。因此,我正在積極使用的程序的相當一部分記憶體在交換中。
什麼使用了這個額外的 RAM,為什麼這麼多?
根據評論,
ps aux --sort -vsize
幫助找到了大手筆,baloo。我建議禁用它;這是一個索引服務,也許你可以沒有它。控制命令:
balooctl status
balooctl disable
編輯
~/.config/baloofilerc
Indexing-Enabled=false
(可能需要重啟)
您還可以嘗試清除和重建記憶體,或縮小其索引的目錄。
我不知道為什麼它沒有顯示在圖形任務管理器中,我從不依賴或使用這些工具。
top
,或更現代htop
的(互動式工具),當然還有ps
命令是你的朋友。