為什麼linux的swap這麼慢

為什麼linux的swap這麼慢

我是一名軟體開發人員,時不時地我會不小心用完我的一個程式的所有可用 RAM。該作業系統將有助於替換我當時可能使用的所有其他內容(即網頁瀏覽器、開發 IDE、音訊播放器等)。在我設法殺死故障的程式後,我的電腦上運行的其他軟體在幾分鐘內幾乎無法使用,並且如果我沒有實際使用該軟體(並且每次單擊後等待很長時間),它就不會自行交換回來。我可以將sudo swapoff -a所有記憶體頁面強制放回 RAM,但這需要相當長的時間。我可以使用該命令監視交換使用情況free。交換空間以大約 1-2MB/秒的速度清空 -free每幾秒鐘運行一次僅顯示個位數的差異,整個過程可能需要幾分鐘。

我的系統相當新,我剛剛測試了儲存交換分割區的 HDD cpipe- 讀取 7GB 檔案的平均速度約為 150-160MB/秒。為什麼交換區沒有以相似的速度移回記憶體?

我能做些什麼讓它更快嗎?

$ uname -r
4.15.0-29-generic

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.5 LTS
Release:        16.04
Codename:       xenial

相關內容