Performance

看似無處不在的高 RAM 和交換使用率

  • August 28, 2020

(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命令是你的朋友。

引用自:https://unix.stackexchange.com/questions/606868