您为运行Eclipse找到的最佳JVM设置是什么?


当前回答

如果您要使用jdk6更新14,我建议使用G1垃圾收集器,这似乎有助于提高性能。

要做到这一点,删除这些设置:

- xx: + UseConcMarkSweepGC - xx: + CMSIncrementalMode - xx: + CMSIncrementalPacing

然后用这些替换它们:

-XX:+解锁实验性VMOptions -XX:+使用G1GC

其他回答

虚拟机 C:\Program Files\Java\ jdk1.6.0_07 \ jre \ bin \ client \ jvm.dll

要指定您正在使用的java版本,并使用dll而不是启动javaw进程

如果你和我一样,对当前的Oracle 1.6版本有问题,那么你可能想要更新JDK或设置-XX:MaxPermSize。更多信息请访问:http://java.dzone.com/articles/latest-java-update-fixes

Eclipse喜欢大量的RAM。至少使用-Xmx512M。更多,如果有。

以下是我使用的方法(尽管我在快捷方式而不是设置文件中使用了它们):

eclipse.exe -showlocation -vm "C:\Java\jdk1.6.0_07\bin\javaw.exe" -vmargs -Xms256M -Xmx768M -XX:+UseParallelGC -XX:MaxPermSize=128M

Eclipse Indigo 3.7.2设置(64位linux)

在x86-64 Linux上运行的Sun/Oracle java版本“1.6.0_31”和Eclipse 3.7的设置:

-nosplash
-vmargs
-Xincgc
-Xss500k
-Dosgi.requiredJavaVersion=1.6
-Xms64m
-Xmx200m
-XX:NewSize=8m
-XX:PermSize=80m
-XX:MaxPermSize=150m
-XX:MaxPermHeapExpansion=10m
-XX:+UseConcMarkSweepGC
-XX:CMSInitiatingOccupancyFraction=70
-XX:+UseCMSInitiatingOccupancyOnly
-XX:+UseParNewGC
-XX:+CMSConcurrentMTEnabled
-XX:ConcGCThreads=2
-XX:ParallelGCThreads=2
-XX:+CMSIncrementalPacing
-XX:CMSIncrementalDutyCycleMin=0
-XX:CMSIncrementalDutyCycle=5
-XX:GCTimeRatio=49
-XX:MaxGCPauseMillis=20
-XX:GCPauseIntervalMillis=1000
-XX:+UseCMSCompactAtFullCollection
-XX:+CMSClassUnloadingEnabled
-XX:+DoEscapeAnalysis
-XX:+UseCompressedOops
-XX:+AggressiveOpts
-XX:+ExplicitGCInvokesConcurrentAndUnloadsClasses

注意,这仅为堆使用了200 MB,非堆使用了150 MB。如果你在使用 对于巨大的插件,你可能想增加“-Xmx200m”和“-XX:MaxPermSize=150m”的限制。

这些标志的主要优化目标是在所有情况下最小化延迟,次要优化目标是最小化内存使用。