我在Linux(64位)上使用Eclipse 3.6和最新的Sun Java 6,並使用大量大型項目。在某些特殊情況下(例如SVN更新),Eclipse需要高達1 GB的堆。但大部分時間只需要350 MB。當我使堆狀態面板,然後我看到大部分的時間:Eclipse發佈堆回到系統
350M的8.78
我啓動Eclipse使用這些設置:-Xms128m -Xmx1024m
所以大部分的時間很多MB的只是在短時間內存使用達到高峯時纔會被浪費掉。我不喜歡這一點,我希望Eclipse將內存釋放回系統,所以我可以將它用於其他程序。
當Eclipse需要更多內存,而沒有足夠的可用RAM時,Linux可以將其他正在運行的程序換掉,我可以忍受這一點。我聽說有一個-XX:MaxHeapFreeRatio選項。但我從來沒有想出我必須使用什麼樣的價值,所以它的工作原理。我嘗試過的任何價值都沒有改變。
那麼,我該如何告訴Eclipse(或Java)釋放未使用的堆?
你用Xms Xmx設置試試這個eclipse.ini(http://stackoverflow.com/questions/142357/what-are-the-best-jvm-settings-for-eclipse/3275659#3275659)嗎? – VonC 2010-09-23 07:39:00