您为运行Eclipse找到的最佳JVM设置是什么?
当前回答
-showlocation
为了让eclipse更容易运行两次,并知道您正在处理哪个工作区
Eclipse 3.6添加了一个首选项选项来指定要显示的工作区名称(显示在窗口标题中),这比-showlocation好用得多,原因有三:
不需要重新启动eclipse即可使其生效。 你可以选择一个短代码。 它出现在透视图和应用程序名称之前。
其他回答
虚拟机 C:\Program Files\Java\ jdk1.6.0_07 \ jre \ bin \ client \ jvm.dll
要指定您正在使用的java版本,并使用dll而不是启动javaw进程
Eclipse Ganymede 3.4.2设置
有关最新的设置,请参阅上面的Eclipse Galileo 3.5设置。
JDK
在我看来,最好的JVM设置总是包括你能找到的最新JDK(所以目前为止,jdk1.6.0_b07到b16,除了b14和b15)
eclipse.ini
即使有这么低的内存设置,我也可以用2Go RAM在我2002年的旧台式机上运行大型java项目(以及web服务器)。
-showlocation
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256M
-framework
plugins\org.eclipse.osgi_3.4.2.R34x_v20080826-1230.jar
-vm
jdk1.6.0_10\jre\bin\client\jvm.dll
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms128m
-Xmx384m
-Xss2m
-XX:PermSize=128m
-XX:MaxPermSize=128m
-XX:MaxGCPauseMillis=10
-XX:MaxHeapFreeRatio=70
-XX:+UseConcMarkSweepGC
-XX:+CMSIncrementalMode
-XX:+CMSIncrementalPacing
-XX:CompileThreshold=5
-Dcom.sun.management.jmxremote
请看GKelly的SO回答和Piotr Gabryanczyk的博客文章,了解更多关于新选项的细节。
监控
你也可以考虑发布:
C:\[jdk1.6.0_0x path]\bin\jconsole.exe
正如之前关于内存消耗的问题所述。
Eclipse Galileo 3.5和3.5.1设置
目前(2009年11月),我正在用jdk6更新17测试以下配置选项集(使用Galileo—eclipse 3.5)。3.4或以上版本的helios3.6.x,请参见下文): (当然,将eclipse.ini中的相对路径调整为正确的设置路径)
注意:对于eclipse3.5,替换startup和launcher。图书馆行:
-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
eclipse.ini 3.5.1
-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
更多信息请参见上面我的原始答案。
变更(2009年7月起)
指的是启动器而不是框架 共享插件:org.eclipse.equinox.p2.reconciler.dropins。目录选项。 Galileo完全支持工作空间或VM的相对路径(当然,如果您的JVM和工作空间保持不变,则可以避免从一个eclipse安装到另一个eclipse安装时修改它们) 在此之前,当eclipse启动时,这些相对路径一直被重写为绝对路径…… 您还可以将Java JDK安装的JRE目录复制到eclipse目录中
警告
有一个被忽略的错误,实际上与JDK有关。 一定要使用JDK6u16或更新的版本来启动eclipse(然后可以在eclipse中定义任意数量的JDK来编译:并不是因为使用JDK6启动eclipse就必须使用相同的JDK来编译)。
Max
注意用法:
--launcher.XXMaxPermSize
384m
-vmargs
-XX:MaxPermSize=128m
正如Eclipse Wiki中所记录的那样,
Eclipse 3.3支持启动器的一个新参数:——launcher. xxmaxpermsize。 如果正在使用的VM是Sun VM,并且还没有-XX:MaxPermSize= VM参数,那么启动器将自动将-XX:MaxPermSize=256m添加到正在使用的VM参数列表中。 3.3启动器只能识别Windows上的Sun虚拟机。
如本条目所述:
Not all vms accept the -XX:MaxPermSize argument which is why it is passed in this manner. There may (or may not) exist problems with identifying sun vms. Note: Eclipse 3.3.1 has a bug where the launcher cannot detect a Sun VM, and therefore does not use the correct PermGen size. It seems this may have been a known bug on Mac OS X for 3.3.0 as well. If you are using either of these platform combination, add the -XX flag to the eclipse.ini as described above. Notes: the "384m" line translates to the "=384m" part of the VM argument, if the VM is case sensitive on the "m", then the so is this argument. the "--launcher." prefix, this specifies that the argument is consumed by the launcher itself and was added to launcher specific arguments to avoid name collisions with application arguments. (Other examples are --launcher.library, --launcher.suppressErrors) The -vmargs -XX:MaxPermSize=384m part is the argument passed directly to the VM, bypassing the launcher entirely and no check on the VM vendor is used.
Eclipse喜欢大量的RAM。至少使用-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
推荐文章
- 如何更改Eclipse中的默认文本文件编码?
- 如何防止Eclipse在启动时挂起?
- Java编译器级别与安装的Java项目facet的版本不匹配
- 升级到Ubuntu 13.10后,Eclipse菜单不会显示
- 到底是什么导致了堆栈溢出错误?
- 如何使用Eclipse比较两个文件?Eclipse是否提供了任何选项?
- 升级到ADT 22后,库不再被添加到APK
- JDK 8中的PermGen消除
- Java“虚拟机”vs. Python“解释器”的说法?
- 应用程序无法打开,因为它来自一个身份不明的开发者
- 在XML中“图像上缺少contentDescription属性”
- 哪些Eclipse文件属于版本控制?
- Java编译器和JVM是用哪种语言编写的?
- 如何在Eclipse Classic中安装Eclipse市场?
- 为什么logcat没有显示任何东西在我的Android?