我正在尝试增加Eclipse的最大堆大小。我已尝试在eclipse.ini
或通过命令行指定,但无法正常工作。
我的最大堆大小在启动Eclipse之前(运行jconsole)和之后(System.out.println(java.lang.Runtime.getRuntime().maxMemory());
)具有完全相同的限制。 1.8G
这是命令:
./eclipse/eclipse -debug -consoleLog -vmargs -Xms1000m -Xmx6000m -XX:-UseGCOverheadLimitcl
这是我的eclipse.ini
(其值被指定的eclipse启动参数覆盖):
-startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.200.v20120522-1813
-product
org.eclipse.epp.package.java.product
--launcher.defaultAction
openFile
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.6
-Dhelp.lucene.tokenizer=standard
-XX:MaxPermSize=6000m
-Xms1000m
-Xmx6000m
答案 0 :(得分:24)
可以使用命令行选项增加Java虚拟机(JVM)分配的堆大小。
-Xms<size> set initial Java heap size
-Xmx<size> set maximum Java heap size
-Xss<size> set java thread stack size
如果您正在使用tomcat服务器,则可以通过转到Eclipse / Run / Run Configuration并选择Apache Tomcat / your_server_name / Arguments来更改堆大小,并在VM arguments部分下使用以下命令:
-XX:MaxPermSize=256m
-Xms256m -Xmx512M
如果您没有使用任何服务器,则可以在运行代码之前在命令行上键入以下内容:
java -Xms64m -Xmx256m HelloWorld
有关增加堆大小的更多信息,请参见here
答案 1 :(得分:12)
您可以使用此配置:
-startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.200.v20120913-144807
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-Xms512m
-Xmx1024m
-XX:+UseParallelGC
-XX:PermSize=256M
-XX:MaxPermSize=512M
答案 2 :(得分:5)
答案 3 :(得分:4)
尝试修改eclipse.ini
,以便Xms
和Xmx
具有相同的值:
-Xms6000m
-Xmx6000m
这应该强制Eclipse的VM从一开始就分配6GB
堆。
但请注意使用eclipse.ini
或命令行./eclipse/eclipse -vmargs ...
。它应该适用于两种情况,但选择一种并尝试坚持下去。
答案 4 :(得分:2)
--launcher.XXMaxPermSize
256m
尝试提高价值!