您为运行Eclipse找到的最佳JVM设置是什么?
当前回答
以下是我使用的方法(尽管我在快捷方式而不是设置文件中使用了它们):
eclipse.exe -showlocation -vm "C:\Java\jdk1.6.0_07\bin\javaw.exe" -vmargs -Xms256M -Xmx768M -XX:+UseParallelGC -XX:MaxPermSize=128M
其他回答
以下是我使用的方法(尽管我在快捷方式而不是设置文件中使用了它们):
eclipse.exe -showlocation -vm "C:\Java\jdk1.6.0_07\bin\javaw.exe" -vmargs -Xms256M -Xmx768M -XX:+UseParallelGC -XX:MaxPermSize=128M
-showlocation
为了让eclipse更容易运行两次,并知道您正在处理哪个工作区
Eclipse 3.6添加了一个首选项选项来指定要显示的工作区名称(显示在窗口标题中),这比-showlocation好用得多,原因有三:
不需要重新启动eclipse即可使其生效。 你可以选择一个短代码。 它出现在透视图和应用程序名称之前。
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”的限制。
这些标志的主要优化目标是在所有情况下最小化延迟,次要优化目标是最小化内存使用。
下面是我自己在i7 2630M 16GB内存笔记本电脑上运行Eclipse的设置,这个设置已经使用了一周,没有一次崩溃,Eclipse 3.7运行平稳。
-startup
plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.100.v20110502
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
256M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms1024m
-Xmx4096m
-XX:MaxPermSize=256m
计算: 适用于win7 x64
Xms =物理内存/ 16 Xmx =物理内存/ 4 MaxPermSize =保持默认值256m
我自己的设置(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
推荐文章
- 如何更改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?