您发现运行Eclipse的最佳JVM设置是什么? html
若是要使用jdk6 update 14,建议使用G1垃圾收集器,这彷佛对性能有所帮助。 java
为此,请删除如下设置: ios
-XX:+ UseConcMarkSweepGC
-XX:+ CMSIncrementalMode
-XX:+ CMSIncrementalPacing
app
并将它们替换为: 框架
-XX:+ UnlockExperimentalVMOptions
-XX:+ UseG1GC eclipse
当前(2009年11月),我正在使用jdk6 update 17测试如下配置选项集(使用Galileo-eclipse 3.5.x, 对于Helios 3.6.x ,请参见下面的3.4或更高版本 ):
(固然,请使eclipse.ini中存在的相对路径适合您的设置的正确路径) jvm
注意:对于eclipse3.5 ,将startup
和launcher.library
行替换为: 性能
-startup plugins/org.eclipse.equinox.launcher_1.0.200.v20090520.jar --launcher.library plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.0.200.v20090519
-data ../../workspace -showlocation -showsplash org.eclipse.platform --launcher.XXMaxPermSize 384m -startup plugins/org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar --launcher.library plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.0.200.v20090519 -vm ../../../../program files/Java/jdk1.6.0_17/jre/bin/client/jvm.dll -vmargs -Dosgi.requiredJavaVersion=1.5 -Xms128m -Xmx384m -Xss4m -XX:PermSize=128m -XX:MaxPermSize=384m -XX:CompileThreshold=5 -XX:MaxGCPauseMillis=10 -XX:MaxHeapFreeRatio=70 -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:+CMSIncrementalPacing -Dcom.sun.management.jmxremote -Dorg.eclipse.equinox.p2.reconciler.dropins.directory=C:/jv/eclipse/mydropins
另请参阅上面的原始答案以获取更多信息。 测试
org.eclipse.equinox.p2.reconciler.dropins.directory
选项。 有一个实际上忽略了与JDK相关的断点的错误。
必定要使用JDK6u16或更新的版原本启动 eclipse(而后能够在 eclipse中定义要编译的JDK数量:不是由于必须使用同一JDK进行编译而使用JDK6启动eclipse)。 ui
请注意如下用途:
--launcher.XXMaxPermSize 384m -vmargs -XX:MaxPermSize=128m
Eclipse 3.3支持启动程序的新参数:--
--launcher.XXMaxPermSize
。
若是使用的VM是Sun VM,而且-XX:MaxPermSize=
没有-XX:MaxPermSize=
VM参数,则启动程序将自动将-XX:MaxPermSize=256m
添加到使用的VM参数列表中。
3.3启动器仅可以识别Windows上的Sun VM。
如本条目中所述 :
并不是全部的vm都接受
-XX:MaxPermSize
参数,这就是为何以这种方式传递它。 标识sun vm可能存在(也可能不存在)问题。
注意:Eclipse 3.3.1有一个错误 ,启动器没法检测到Sun VM,所以不使用正确的PermGen大小。 看来这也多是Mac OS X 3.3.0上的一个已知错误 。
若是您正在使用这两种平台组合中的任一种,则如上所述,将-XX
标志添加到eclipse.ini
。笔记:
- “
384m
”行转换为VM参数的“=384m
”部分,若是VM在“m
”上区分大小写,则该参数也是如此。- “
--launcher.
”前缀,它指定参数由启动器自己使用,并添加到启动器特定的参数中,以免名称与应用程序参数冲突。 (其余示例是--launcher.library
,----launcher.suppressErrors
)
-vmargs -XX:MaxPermSize=384m
部分是直接传递给VM的参数,彻底绕过启动程序,而且不对VM供应商进行检查。
这是我使用的(尽管我在快捷方式而不是设置文件中有它们):
eclipse.exe -showlocation -vm“ C:\\ Java \\ jdk1.6.0_07 \\ bin \\ javaw.exe” -vmargs -Xms256M -Xmx768M -XX:+ UseParallelGC -XX:MaxPermSize = 128M
Eclipse喜欢大量的RAM。 至少使用-Xmx512M。 更多(若是有)。
-vm
C:\\ Program Files \\ Java \\ jdk1.6.0_07 \\ jre \\ bin \\ client \\ jvm.dll
要指定您正在使用的Java版本,并使用dll而不是启动javaw进程