Eclipse的了解内存参数

问题描述 投票:28回答:2

我刚安装Eclipse 4.2(麦浚龙)在Linux 64位。我看过对堆栈溢出几个Eclipse.ini线程,但我还是不明白,不同的内存参数之间的关系。

一方面,有参数都为VM-vmargs是去(例如,-Xms-Xmx-XX),而其他人(例如,--launcher.XXMaxPermSize)提供直接蚀。

什么是这些参数之间的关系?我将如何设置它们的机器超过8 GB的内存?

我知道长的堆栈溢出问题What are the best JVM settings for Eclipse?的,但我想了解如何调整这些参数的自己。

作为参考,在安装后,该朱诺具有默认参数是:

-startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.gtk.linux.x86_1.1.200.v20120522-1813
-product
org.eclipse.epp.package.cpp.product
--launcher.defaultAction
openFile
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Dhelp.lucene.tokenizer=standard
-XX:MaxPermSize=256m
-Xms40m
-Xmx512m
eclipse jvm
2个回答
17
投票

如果您是在甲骨文/ Sun JVM上运行Eclipse,我会不顾--launcher.XXMaxPermSize(我个人将其删除),并专注于-XX:MaxPermSize-Xms-Xmx

原因--launcher.XXMaxPermSize是,一些非甲骨文/ Sun的JVM会呛-XX:MaxPermSize。该发射器进行编程,以检测JVM和有条件地提供-XX:MaxPermSize。当然,这是在默认eclipse.ini文件明确-XX:MaxPermSize设置击败。这看起来像一个bug。

我从来没有惹-Xms设置。我设置-Xmx1024m-XX:MaxPermSize=512m


0
投票

为了完整起见,应该指出的是,永久代(PermGen的)在Java的8热点与元空间所取代。

所以,如果你使用的是Oracle JVM与Java 8或更高版本,你不必担心这些参数了,并且可以安全地删除那些从你的eclipse.ini:

--launcher.XXMaxPermSize
-XX:MaxPermSize

自那时以来,-XX:MaxPermSize参数由JVM忽略,并产生一个警告(见:PermGen elimination in JDK 8)。

© www.soinside.com 2019 - 2024. All rights reserved.