
我在用MXLinux幾天后,我發現了一個有問題的行為。突然幾個過程是自動殺死。為此,我不得不面對很多問題。有什麼辦法可以阻止它嗎?我不想自動終止進程。請幫我解決它。
答案1
有什麼辦法可以阻止它嗎?
不幸的是沒有。
基本原理如下:一旦系統完全耗盡內存,它就必須凍結,因為它甚至無法運行最簡單的命令 - 因為這需要分配內存。這OOM-Killer 的目的是透過殺死的方式來防止系統變得完全無法使用(基於一些啟發式- 其他人可能會隨機地說)釋放記憶體的進程。這樣,管理員至少可以嘗試使系統恢復到可用狀態,希望無需重新啟動。完全停用此功能尚未實現(另請參閱StackOverflow 上的這個答案)。
為了緩解這個問題,你可以嘗試
- 使用
top
或任何類似的系統監視器來調查哪個程式開始消耗記憶體。如果它是您自己編寫的,則您可能在記憶體管理中創建了錯誤,您可以嘗試使用諸如valgrind
.如果是第三方程序,可以嘗試限制其資源(請參閱答案這個問題,例如),這樣它至少不會影響您的系統。 - 嘗試調整 OOM Killer 的設置,例如過度投入,但請注意,這可能會產生副作用。
- 增加交換空間(請參閱 Ipor Sircer 的評論),但請注意,這會使系統非常慢。
如果您的硬體最終無法勝任任務,您可能必須考慮升級。