停用交換文件而不造成任何電腦凍結

停用交換文件而不造成任何電腦凍結

我目前正在我的筆記型電腦上編碼:4 GB 內存,從來沒有使用超過2.5-3GB,但有時,我會弄亂我的程序,運行它們時會出現內存洩漏,並且它們會使計算機在嘗試寫入時凍結在交換文件中(與交換性的低值有關)。它讓我有幾次差點丟失重要數據,所以我想讓我的計算機以另一種方式工作:沒有交換文件,正如我所說,在使用它和製作操作系統時我從來不需要超過 3GB 的內存嘗試使用比可用記憶體更多的記憶體的程式會崩潰(它總是我自己的編碼錯誤的程式)。我怎樣才能以這種方式進行設定?

先感謝您。

答案1

如果您知道哪個程式導致了問題(正如您的問題所暗示的那樣),那麼您應該透過按Ctrl+ Alt+登入另一個終端F2,然後執行killall <processname>.按Ctrl+ Alt+F7Ctrl+ Alt+F8將返回 GUI。

如果必須停用交換,則需要編輯 /etc/fstab 檔案。 sudo gedit /etc/fstab

將有一行包含“交換”一詞。#在行首放置一個。儲存文件,然後退出。重新啟動系統,您的交換區應該消失了。這可以透過系統監視器來驗證。

答案2

嘗試kill -STOP pid && swapoff /path/to/yourswapdev

那麼在此之後,您正在運行的程式可能是錯誤編碼的。

即使任務導致問題,您也可以嘗試保持 Linux 穩定,並且您仍然想使用它

嘗試 renice -n 20 -p pid

若要繼續該任務,請使用kill -CONT pid

注意:如果任務在啟動時啟動,您將需要在啟動腳本中將常規 exec 替換為一個好的命令

PDv2:避免在啟動時載入交換,在 /etc/fstab 中註解它的行

相關內容