eclipse.ini文件中XXMaxPermSize、vmargs、Xms和Xmx参数的作用是什么?它们的作用是什么?

8

我正在开发一个应用程序。我需要修改我的eclipse.ini文件,所以我想知道这些参数XXMaxPermSize、vmargs、Xms和Xms的目的和含义,以便正确使用它们。

我在Ubuntu 14.04上使用Java 7的eclipse 3.8版本。

--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-Xms40m
-Xmx384m
-Dorg.eclipse.equinox.p2.reconciler.dropins.directory=/usr/share/eclipse/dropins

2
在Java VM中,-vmargs之后的所有内容都是参数,并在Oracle Java文档中有记录。而-vmargs之前的所有内容则在此处有记录:http://help.eclipse.org/luna/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Freference%2Fmisc%2Fruntime-options.html - greg-449
请参阅 http://wiki.eclipse.org/Eclipse.ini 和 http://www.oracle.com/technetwork/java/javase/gc-tuning-6-140523.html#generation_sizing,这些都是与编程有关的内容。 - Andrew
2个回答

11

像Greg所说的那样,-vmargs之后的所有内容都是在应用程序启动时提供给JVM的VM参数。-Xmx是最大堆大小,-Xms是初始堆大小,而launcher.XXMaxPermSize可能是传递给eclipse可执行文件的一个参数。这将增加permagen空间的大小。我怀疑在Java 8之前,这个参数只能起作用,因为permagen在8中被消除了。


1
permagan - 永久代(非堆):包含虚拟机本身的所有反射数据池,例如类和方法对象。使用类数据共享的Java虚拟机将此代划分为只读区域和读写区域。来源:https://dev59.com/W3I95IYBdhLWcg3w1Bvo - Mohammed Ali

2

你能用一句话总结这些参数吗? - Mohammed Ali
1
就像Greg所说的那样,-vmargs之后的所有内容都是在应用程序启动时提供给JVM的VM参数。-Xmx是最大堆大小,-Xms是初始堆大小,而launcher.XXMaxPermSize可能是eclipse可执行文件的一个参数。 - Mark W
“添加那个是什么意思?XXMaxPermSize 256m是做什么的?” - Mohammed Ali

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接