2012-10-08 33 views
4

最近,由於內存錯誤率低,javaw.exe進程已經佔用了我的計算機並迫使我退出Eclipse和其他應用程序。請注意,我並不是最大化系統,並且我正在處理一些基本的Java程序,並且我一次最多打開2-3個eclipse選項卡。javaw.exe吃我的記憶?

我有大約40-50這些javaw.exe進程每個佔用22K-26K的RAM,最終會佔用我機器上8GB RAM的70-80%。這是非常令人沮喪的,因爲我不能做這樣的工作。我想知道是否有其他人遇到過這種情況,並知道如何解決這個問題?

+0

這種行爲看起來像病毒給我。 – Rafael

+0

可能有一些程序仍在後臺運行。 –

+0

當你開始時,你能夠隔離嗎? –

回答

10

你可能發動同從eclipse一次又一次地編程,並且這些程序永遠不會退出。切換到調試的角度,並看看調試的看法。殺死所有不應該運行的進程。

也就是說,50 * 26KB8GB * 80%很遠。我懷疑任何Java程序可以輕到26KB。

+1

但我確實退出了這些程序。但是,當我去'Windows任務管理器'的過程不會消失後,我從eclipse退出Java程序... – AnchovyLegend

+1

你如何退出它們?你在調試視圖中按下方形紅色的「終止」按鈕嗎?當調用System.exit()時Java程序終止。例如,如果您關閉了Swing/AWT應用程序的主窗口,則不會退出。 –

+1

或者它可能是一些非守護線程繼續在後臺運行並阻止這些程序退出。 – assylias

0

通常每個eclipse實例應該只有一個javaw.exe進程..因此請使用進程資源管理器檢查它們是否屬於eclipse而不是其他某些背景/殭屍程序。

如果你想減少內存javaw.exe的,你可以使用Help -> Performance -> Reducy Memory now ..

注意,這將減少使用的內存只有實際的Eclipse的javaw.exe過程..

+1

我的Eclipse中沒有幫助 - >性能選項 – Lucky

+1

@Majid Laissi,在Eclipse Mars.1上(4.5.1),沒有幫助 - >性能選項太。爲什麼你的月食有這個選項? – GSP

+0

在Eclipse Oxygen中不可用 – Roshan

2

它通常發生在你正在做多線程時。確保在結束應用程序之前,通過調用thread.interrupt()爲您產生的線程停止創建的所有線程。這會從任務管理器中刪除javaw.exe - 希望如果你正在使用的JFrame這將有利於

1

,試試這個:

Main frame=new Main();//Main class extends JFrame. 
frame.setdefaultcloseoperation(JFrame.EXIT_ON_CLOSE);