限制 eclipse 接管 RAM

限制 eclipse 接管 RAM

我在 Ubuntu 14.04 中使用 Eclipse 來處理科學問題,我的程式碼消耗了大量 RAM。當我在 Eclipse 中運行程式碼時,我在系統監視器中看到 RAM 使用率幾乎達到 100%,同時作業系統變得非常無響應(例如,打開終端將需要一分鐘多的時間)。有沒有辦法限制 eclipse 使用的 RAM 量,以便作業系統始終保持回應?

謝謝!

答案1

當您在 Eclipse 中執行應用程式時,它會在作業系統中建立一個單獨的執行緒。該執行緒的 RAM 使用情況無法由 eclipse 控制。

避免系統崩潰的一種方法是增加交換分割區大小。即使在這種情況下,系統也會變得非常緩慢,但不會崩潰。

還有其他方法可以控制應用程式的記憶體使用情況,例如當使用量超過特定值時終止程式。如果您對記憶體使用設定如此嚴格的限制,那麼您可能會遇到一些不可預測的行為/崩潰。請參閱下面討論限制 RAM 使用的連結。

https://unix.stackexchange.com/questions/44985/limit-memory-usage-for-a-single-linux-process

https://stackoverflow.com/questions/26860822/how-limit-memory-usage-for-a-single-linux-process-and-not-kill-the-process

我建議嘗試優化您的程式碼以使其使用更少的內存,或者考慮某種方法將資料轉儲到硬碟並在需要時讀取它,而不是將其保留在內存中。更好的是增加內存!

答案2

這裡是一個專門針對這個問題的 Perl 腳本。

介紹

超時腳本是一個資源監控程序,用於限制Linux下黑盒進程的時間和記憶體消耗。它運行您在命令列中指定的命令,並監視其記憶體和時間消耗,如果超出限制則中斷進程,並用預設訊息通知使用者。

該腳本的殺手級功能(實際上,它出現的原因)是它不僅監視直接生成的進程,而且還追蹤其隨後分叉的子進程。您可以選擇監視進程的範圍是否受進程組或進程樹限制。

來源

相關內容