2016-06-06 61 views
0

我發現使用Eclipse導入大項目時總是非常緩慢或掛起。有沒有推薦的技巧?我聽說有一種方法可以調整Eclipse的堆大小,並想知道更多細節。謝謝。在Eclipse中加載大項目

我的問題與that question不同,因爲該問題涵蓋特定版本的Eclipse的非常具體的設置。我正在使用Eclipse 4.4.1,但沒有發現它包含在該文章中。如果有人有任何進一步的想法,這將是偉大的。

後我的eclipse.ini文件,從GC發現

-startup 
../../../plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar 
--launcher.library 
../../../plugins/org.eclipse.equinox.launcher.cocoa.macosx.x86_64_1.1.200.v20140603-1326 
-product 
org.eclipse.epp.package.standard.product 
--launcher.defaultAction 
openFile 
-showsplash 
org.eclipse.platform 
--launcher.XXMaxPermSize 
256m 
--launcher.defaultAction 
openFile 
--launcher.appendVmargs 
-vm 
/Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home/bin/java 
-vmargs 
-Dosgi.requiredJavaVersion=1.7 
-XstartOnFirstThread 
-Dorg.eclipse.swt.internal.carbon.smallFonts 
-Xms40m 
-Xmx512m 
-Xdock:icon=../Resources/Eclipse.icns 
-XstartOnFirstThread 
-Dorg.eclipse.swt.internal.carbon.smallFonts 

錯誤,

Java HotSpot(TM) 64-Bit Server VM (25.5-b02) for bsd-amd64 JRE (1.8.0_05-b13), built on Mar 18 2014 00:36:13 by "java_re" with gcc 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00) 
Memory: 4k page, physical 16777216k(1263060k free) 

/proc/meminfo: 

CommandLine flags: -XX:InitialHeapSize=1073741824 -XX:MaxHeapSize=2147483648 -XX:+PrintGC -XX:+PrintGCTimeStamps -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:+UseParallelGC 
0.069: [GC (Allocation Failure) 512K->456K(1048064K), 0.0012740 secs] 
0.100: [GC (Allocation Failure) 967K->552K(1048576K), 0.0007710 secs] 
0.142: [GC (Allocation Failure) 1576K->887K(1048576K), 0.0010520 secs] 
0.170: [GC (Allocation Failure) 1911K->1145K(1049600K), 0.0011690 secs] 
0.259: [GC (Allocation Failure) 3154K->1711K(1049600K), 0.0015070 secs] 
0.307: [GC (Allocation Failure) 3759K->2198K(1052672K), 0.0013960 secs] 
0.374: [GC (Allocation Failure) 6294K->2847K(1052672K), 0.0022820 secs] 
0.510: [GC (Allocation Failure) 6934K->3982K(1055744K), 0.0152520 secs] 
0.604: [GC (Allocation Failure) 11150K->6772K(1056768K), 0.0071190 secs] 
0.646: [GC (Allocation Failure) 13940K->9925K(1060864K), 0.0099910 secs] 
0.710: [GC (Allocation Failure) 20165K->14445K(1062400K), 0.0131930 secs] 
1.045: [GC (Allocation Failure) 24685K->16812K(1069056K), 0.0078650 secs] 
1.263: [GC (Allocation Failure) 33196K->19905K(1069056K), 0.0037050 secs] 
1.429: [GC (Allocation Failure) 36289K->20490K(1079808K), 0.0040400 secs] 
1.985: [GC (Allocation Failure) 47114K->21536K(1079808K), 0.0063240 secs] 
3.218: [GC (Allocation Failure) 48160K->27304K(1094656K), 0.0121460 secs] 

問候, 林

+3

可能的重複[什麼是Eclipse的最佳JVM設置?](http://stackoverflow.com/questions/142357/what-are-the-best-jvm-settings-for-eclipse) –

+0

@JigarJoshi,感謝並通讀這篇文章,它涵蓋了特定Eclipse版本的特定設置。我正在使用Eclipse 4.4.1,但沒有發現它包含在該文章中。如果你有任何進一步的想法,這將是偉大的。 –

+1

「大」有多大?它是一個什麼樣的項目?您是否在導入此項目時複製文件?它已經是一個Eclipse項目嗎? – nitind

回答

1

我建議你在eclipse.ini文件中加入一些JVM調試選項。您可以使用-XX:PrintGCDetails和-Xloggc:來檢查GC詳細信息。也許有太多的完整的GC。如果是這種情況,下一步應該會有所幫助。

您也可能希望將初始堆大小增加到-Xms512m,以便在啓動時分配更多內存。 -XX:如果您的Eden空間太小,NewRatio可能會有所幫助,這會導致很多次要的GC。

更改垃圾收集器可能是另一種選擇,但我相信默認的最適合java桌面應用程序。

+0

謝謝肖恩,投票了。我發佈了我的eclipse.ini文件內容,之前從未進行過編輯,您是否介意在我的特定情況下向我提供更多詳細信息以添加-XX:PrintGCDetails和-Xloggc:檢查GC詳細信息?謝謝。 :) –

+1

它真的很明顯,你的XMS和XMX太小了......我不知道你的機器有多少內存。如果您有4G內存,建議您將Xms = 40m更改爲Xms = 512m,將Xmx = 512更改爲Xmx = 1024m。 在文件末尾添加-XX:PrintGCDetails和-Xloggc:d:/logs/gc.log 確保日誌目錄在啓動eclipse之前有效。 –

+0

謝謝肖恩,投票了,並嘗試了你的方法(我的Xms增加到1024,Xmx增加到2048,因爲我的機器有16G內存),並且更新了我的帖子和更新的gc.log。似乎很多分配錯誤,這是什麼意思?如果你有任何進一步的想法如何解決,這將是偉大的。 –

1

這是一個非常棘手的問題。您可以嘗試爲您的案例找到最佳的JVM選項,如上面的評論中所述。

另一種選擇是嘗試由Zeroturnaround製作Eclipse Optimizer。它會嘗試診斷和修復Eclipse安裝中的一些問題。

+0

感謝SerCe,投票並想知道在哪裏設置這些選項? Eclipse IDE內部是否有GUI界面來設置參數? –