17

我正在尝试增加我的 Eclipse 的最大堆大小。我尝试在命令行中eclipse.ini或通过命令行指定,但没有工作。

System.out.println(java.lang.Runtime.getRuntime().maxMemory());我的最大堆大小在启动 Eclipse之前(运行 jconsole)和之后()具有完全相同的限制。1.8G

  1. 有没有办法在启动之前修改 JVM 堆大小(例如配置文件?)
  2. 为 Eclipse 指定堆大小时我会做错什么?

这是命令:

./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
4

4 回答 4

27

可以使用命令行选项增加 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

有关增加堆大小的更多信息,请参见此处

于 2013-01-17T16:54:58.170 回答
14

您可以使用此配置:

-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
于 2013-12-05T12:02:11.093 回答
4

尝试修改 ,eclipse.ini使两者XmsXmx具有相同的值:

-Xms6000m
-Xmx6000m

这应该强制 Eclipse 的 VM 从一开始就分配6GB堆。

但要小心使用eclipse.ini或 命令行./eclipse/eclipse -vmargs ...。它应该在这两种情况下都有效,但选择一种并尝试坚持下去。

于 2013-01-17T23:33:48.523 回答
2

--launcher.XXMaxPermSize

256m

试着提高这个价值!

于 2013-04-12T18:02:24.730 回答