Process

自動程序殺死程序問題

  • August 11, 2020

我使用MX linux幾天了,我發現了一個有問題的行為。突然幾個程序被自動殺死。為此,我不得不面對很多問題。有沒有辦法阻止它?我不想自動殺死程序。請幫我解決它。

有沒有辦法阻止它?

不幸的是沒有。

基本原理如下:一旦系統完全耗盡記憶體,它必須凍結,因為它甚至無法執行最簡單的命令——因為這需要分配記憶體。OOM -Killer 旨在防止系統以這種方式完全無法使用,方法是通過殺死(基於一些啟發式方法- 其他人可能會隨機說)程序以釋放記憶體。這樣,管理員至少可以嘗試讓系統恢復到可用狀態,希望無需重新啟動。未實現完全禁用此功能(另請參閱StackOverflow 上的此答案)。

為了緩解這個問題,你可以嘗試

  1. 使用top或任何類似的系統監視器來調查哪個程序開始佔用記憶體。如果它是您自己編寫的,您可能在記憶體管理中創建了錯誤,您可以嘗試使用valgrind. 如果它是第三方程序,您可以嘗試限制其資源(例如,請參閱此問題的答案),以便它至少不會影響您的系統。
  2. 嘗試調整 OOM 殺手的設置,例如overcommiting,但請注意這可能會產生副作用。
  3. 增加交換空間(參見 Ipor Sircer 的評論),但請注意這會使系統變得非常慢。

如果您的硬體最終無法勝任這項任務,您可能不得不考慮升級。

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