您为运行Eclipse找到的最佳JVM设置是什么?
当前回答
您也可以尝试使用JRockit运行。它是针对服务器优化的JVM,但许多长时间运行的客户端应用程序(如IDE)在JRockit上运行得非常好。Eclipse也不例外。JRockit没有烫发空间,所以您不需要配置它。
可以设置一个暂停时间目标(ms)来避免长时间的gc暂停使UI停滞。
-showsplash
org.eclipse.platform
-vm
C:\jrmc-3.1.2-1.6.0\bin\javaw.exe
-vmargs
-XgcPrio:deterministic
-XpauseTarget:20
我通常不会费心设置-Xmx和-Xms,而是让JRockit根据需要增加堆。如果您使用JRockit启动Eclipse应用程序,您还可以使用JRockit任务控制工具套件监视、分析和查找应用程序中的内存泄漏。您可以从这个更新站点下载插件。注意,仅适用于Eclipse 3.3和Eclipse 3.4
其他回答
以下是我使用的方法(尽管我在快捷方式而不是设置文件中使用了它们):
eclipse.exe -showlocation -vm "C:\Java\jdk1.6.0_07\bin\javaw.exe" -vmargs -Xms256M -Xmx768M -XX:+UseParallelGC -XX:MaxPermSize=128M
如果你和我一样,对当前的Oracle 1.6版本有问题,那么你可能想要更新JDK或设置-XX:MaxPermSize。更多信息请访问:http://java.dzone.com/articles/latest-java-update-fixes
Eclipse喜欢大量的RAM。至少使用-Xmx512M。更多,如果有。
我自己的设置(Java 1.7,修改为1.6):
-vm
C:/Program Files (x86)/Java/jdk1.7.0/bin
-startup
plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.100.v20100628
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-server
-Dosgi.requiredJavaVersion=1.7
-Xmn100m
-Xss1m
-XgcPrio:deterministic
-XpauseTarget:20
-XX:PermSize=400M
-XX:MaxPermSize=500M
-XX:CompileThreshold=10
-XX:MaxGCPauseMillis=10
-XX:MaxHeapFreeRatio=70
-XX:+UnlockExperimentalVMOptions
-XX:+DoEscapeAnalysis
-XX:+UseG1GC
-XX:+UseFastAccessorMethods
-XX:+AggressiveOpts
-Xms512m
-Xmx512m
您也可以尝试使用JRockit运行。它是针对服务器优化的JVM,但许多长时间运行的客户端应用程序(如IDE)在JRockit上运行得非常好。Eclipse也不例外。JRockit没有烫发空间,所以您不需要配置它。
可以设置一个暂停时间目标(ms)来避免长时间的gc暂停使UI停滞。
-showsplash
org.eclipse.platform
-vm
C:\jrmc-3.1.2-1.6.0\bin\javaw.exe
-vmargs
-XgcPrio:deterministic
-XpauseTarget:20
我通常不会费心设置-Xmx和-Xms,而是让JRockit根据需要增加堆。如果您使用JRockit启动Eclipse应用程序,您还可以使用JRockit任务控制工具套件监视、分析和查找应用程序中的内存泄漏。您可以从这个更新站点下载插件。注意,仅适用于Eclipse 3.3和Eclipse 3.4
推荐文章
- 访问限制:'Application'类型不是API(必需库rt.jar的限制)
- Android Eclipse -无法找到*.apk
- 通过SSH使用Eclipse完成远程项目
- javac和Eclipse编译器之间的区别是什么?
- 如何在清洁模式下运行eclipse ?如果我们这样做会发生什么?
- 如何在Eclipse中更改动态web项目的上下文根?
- Eclipse错误:间接引用所需的.class文件?
- 如何在Eclipse中只使用键盘去一个错误?
- 如何在Eclipse中生成Javadoc注释?
- 如何在EPF Composer 1.5中删除一个规程?
- Eclipse调试器总是阻塞在ThreadPoolExecutor上,没有任何明显的异常,为什么?
- 是什么原因导致Eclipse中导入的Maven项目默认使用Java 1.5而不是Java 1.6,我如何确保它不使用?
- 如何从Eclipse设置java.library.path
- 如何使Eclipse/EGit在更新后识别现有的存储库信息?
- 为什么每当我创建一个新项目时,Eclipse都会自动添加appcompat v7库支持?