Oracle J2SE 1.7 的等效 JVM 选项,适用于 Eclipse 'kepler' 4.3



试图在相当低功耗的Netbook(双核1.66MHz Atom N455)上提高Eclipse‘Kepler’rel-4.3 IDE的性能,运行基于Debian的64位发行版。

在SE上发现了以下两个先前的问题(q1,q2),并尝试了几个组合。

$ java -version
java version "1.7.0_07"
Java(TM) SE Runtime Environment (build 1.7.0_07-b10)
Java HotSpot(TM) 64-Bit Server VM (build 23.3-b01, mixed mode)

采用以下eclipse.ini设置,与默认的eclipse.ini和将OpenJDK 6与IcedTea一起使用相比,我没有更快地启动和操作,反而感觉有些慢。因此,问题是,是否有任何建议的操作被弃用或与Oracle Jave SE 1.7 冲突

尝试了新的eclipse.ini:

-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

原始eclipse.ini:

-startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20130327-1440.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.200.v20130521-0416
-product
org.eclipse.epp.package.java.product
--launcher.defaultAction
openFile
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=1.6
-XX:MaxPermSize=256m
-Xms40m
-Xmx512m

我遇到了同样的事情。我认为这更像是一个"Java版本中不推荐使用的内容"的问题,因为它将大部分命令传递给Java。kepler帮助文件并没有对你和我传递的许多命令进行具体说明,所以我就是这么想的。

这是开普勒的帮助文件http://help.eclipse.org/kepler/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Freference%2Fapi%2Fconstant-values.html

我要说的一件事是,在快速阅读Interweb后,我认为这两个不能同时使用,但我不知道。-XX: +使用ConcMarkSweepGC-XX: +UseParNewGC

我的里只有第二个

这是我读的地方http://www.fasterj.com/articles/oraclecollectors1.shtml

好吧,再读一遍,看起来你可以同时使用这两个

也许在这里看看http://docs.oracle.com/javase/7/docs/technotes/tools/solaris/java.html

我能够逃脱这么多额外的args。你使用的最后一个url中没有的一些额外的可能会被弃用,也可能不会,但这并没有影响我。

-d64  
-Xms128m
-Xss4m
-Xmx248m
-Xfuture
-Xincgc
-XX:NewSize=8m
-Xrs
-XX:+AggressiveOpts
-XX:MaxGCPauseMillis=20
-XX:ParallelGCThreads=4
-XX:+UseConcMarkSweepGC
-XX:+UseLargePages
-XX:+UseParNewGC
-XX:CMSInitiatingOccupancyFraction=70
-XX:+UseCMSInitiatingOccupancyOnly
-XX:+UseParNewGC
-XX:+CMSConcurrentMTEnabled
-XX:ConcGCThreads=4
-XX:+CMSIncrementalPacing
-XX:CMSIncrementalDutyCycleMin=0
-XX:CMSIncrementalDutyCycle=5
-XX:GCTimeRatio=49
-XX:GCPauseIntervalMillis=1000
-XX:+UseCMSCompactAtFullCollection
-XX:+CMSClassUnloadingEnabled
-XX:+ExplicitGCInvokesConcurrentAndUnloadsClasses
-XX:+DoEscapeAnalysis
-XX:+UnlockExperimentalVMOptions
-XX:PredictedClassLoadCount=16384
-XX:+UseCompressedOops

最新更新