在Eclipse中加载大型项目

在Eclipse中加载大型项目,eclipse,jvm,Eclipse,Jvm,我发现在使用Eclipse导入大型项目时,它总是非常慢或挂起。有什么推荐的技巧吗?我听说有一种方法可以调整Eclipse的堆大小,并想知道更多细节。谢谢 我的问题不同于,因为这个问题涉及特定版本Eclipse的非常具体的设置。我使用的是Eclipse4.4.1,但在那篇文章中没有提到它。如果有人有进一步的想法,那就太好了 发布我的eclipse.ini文件 -startup ../../../plugins/org.eclipse.equinox.launcher_1.3.0.v20140415

我发现在使用Eclipse导入大型项目时,它总是非常慢或挂起。有什么推荐的技巧吗?我听说有一种方法可以调整Eclipse的堆大小,并想知道更多细节。谢谢

我的问题不同于,因为这个问题涉及特定版本Eclipse的非常具体的设置。我使用的是Eclipse4.4.1,但在那篇文章中没有提到它。如果有人有进一步的想法,那就太好了

发布我的eclipse.ini文件

-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
从gc中发现错误

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]
问候,,

这是一个非常棘手的问题。您可以尝试为您的案例找到最佳的JVM选项,如上面的评论所述


另一个选择是尝试由ZeroTurnound制作。它将尝试诊断和修复Eclipse安装中的一些问题。

这是一个非常棘手的问题。您可以尝试为您的案例找到最佳的JVM选项,如上面的评论所述


另一个选择是尝试由ZeroTurnound制作。它将尝试诊断和修复Eclipse安装中的一些问题。

我建议您在Eclipse.ini文件中添加一些JVM调试选项。您可以使用-XX:PrintGCDetails和-Xloggc:检查GC详细信息。也许有太多完整的GCs了。如果是这样,下一步应该会有所帮助

您可能还希望将初始堆大小增加到-Xms512m,以便它在开始时分配更多内存-XX:NewRatio可能会有帮助,如果你的伊甸园空间太小,这将导致很多小GC


更改垃圾收集器可能是另一种选择,但我认为默认的垃圾收集器最适合java桌面应用程序。

我建议您在eclipse.ini文件中添加一些JVM调试选项。您可以使用-XX:PrintGCDetails和-Xloggc:检查GC详细信息。也许有太多完整的GCs了。如果是这样,下一步应该会有所帮助

您可能还希望将初始堆大小增加到-Xms512m,以便它在开始时分配更多内存-XX:NewRatio可能会有帮助,如果你的伊甸园空间太小,这将导致很多小GC


更改垃圾收集器可能是另一种选择,但我相信默认的垃圾收集器最适合java桌面应用程序。

可能重复@JigarJoshi,谢谢,通读本文,它涵盖了特定版本Eclipse的非常具体的设置。我使用的是Eclipse4.4.1,但在那篇文章中没有提到它。如果你有任何进一步的想法,那就太好了。“大”有多大?这是一个什么样的项目?导入此项目时是否也在复制文件?它已经是一个Eclipse项目了吗?@nitind,投票赞成,我只想导入该项目,以利用Eclipse的代码搜索/突出显示功能。它已经是一个Eclipse项目(我从另一台更强大的机器上复制)。不需要复印。任何建议都将不胜感激。谢谢。编辑以明确为什么类似的问题没有回答我在这个特定问题中所困惑的问题。谢谢。可能是@JigarJoshi的副本,谢谢,通读这篇文章,它涵盖了特定版本Eclipse的非常具体的设置。我使用的是Eclipse4.4.1,但在那篇文章中没有提到它。如果你有任何进一步的想法,那就太好了。“大”有多大?这是一个什么样的项目?导入此项目时是否也在复制文件?它已经是一个Eclipse项目了吗?@nitind,投票赞成,我只想导入该项目,以利用Eclipse的代码搜索/突出显示功能。它已经是一个Eclipse项目(我从另一台更强大的机器上复制)。不需要复印。任何建议都将不胜感激。谢谢。编辑以明确为什么类似的问题没有回答我在这个特定问题中所困惑的问题。谢谢,谢谢SerCe,投票吧,想知道在哪里设置这样的选项?EclipseIDE中是否有用于设置参数的GUI界面?谢谢SerCe,请投票并询问在哪里设置这些选项?EclipseIDE中是否有用于设置参数的GUI界面?谢谢Shawn,投赞成票。我发布了我的eclipse.ini文件内容,以前从未对其进行过编辑,您是否介意告诉我更多的细节,在我的具体案例中,在哪里添加-XX:PrintGCDetails和-Xloggc:以检查GC细节?谢谢。:)很明显,您的Xms和Xmx太小了。。。我不知道你的机器有多少内存。如果您有4G内存,我建议您将Xms=40m更改为Xms=512m,将Xmx=512更改为Xmx=1024m。在文件末尾,添加-XX:PrintGCDetails和-Xloggc:d:/logs/gc.log,确保日志目录在启动eclipse之前有效。分配失败不是错误。。。这意味着堆空间已满,因此需要进行垃圾收集。您可以使用jvisualvm(在jdk/bin文件夹下)来监视eclipse的运行状态。你可能想在导入项目时安装VisualGC插件工具来监控GC性能。是的,我知道。如果不实际查看您的特定案例,就很难猜测要调整什么。在导入大型项目时使用该工具可能有助于找到一些提示。正如我之前提到的,它可能是由太多的GC引起的,也可能只是IO的问题。VisualGC是VISUALVM中的一个插件,而不是Eclipse。安装插件后,打开eclipse并等待它完全加载。您应该能够在visualvm UI中看到eclipse过程。然后尝试在eclipse中导入项目并监视其运行状态。谢谢Shawn,投赞成票。我发布了我的eclipse.ini文件内容,以前从未对其进行过编辑,您是否介意告诉我更多的细节,在我的具体案例中,在哪里添加-XX:PrintGCDetails和-Xloggc:以检查GC细节?谢谢。:)很明显,您的Xms和Xmx太小了。。。我不知道你的机器有多少内存。如果您有4G内存,我建议您将Xms=40m更改为Xms=512m,将Xmx=512更改为Xmx=1024m。在文件末尾,添加-XX:PrintGCDetails和-Xloggc:d:/logs/gc.log,确保日志目录为val