0

我通过从 Eclipse 网站下载 .tar.gz 文件并在我的主目录中提取来在 ubuntu 中使用 Eclipse EE。我在 eclipse.ini 中将 -Xmx 设置为 3072m。这里是:

-startup
plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.1.R36x_v20100810
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-XX:MaxPermSize=256m
-Xms2048m
-Xmx3072m

但是当我试图通过

Runtime.getRuntime().totalMemory()

它返回 62193664,即 59mb。我还尝试从终端设置 vmagrs 启动 Eclipse,但没有任何改变。我不知道发生了什么。如何设置堆大小?我的总内存是 4gb,我使用 64 位 Ubuntu 和 64 位 eclipse。任何信息都会对我很有帮助。

4

3 回答 3

1

简而言之,Runtime.getRuntime().totalMemory()没用,它返回一个GC生成的大小。

这个线程有一个解释: http: //mail.openjdk.java.net/pipermail/hotspot-gc-use/2008-December/000318.html

于 2011-02-20T14:20:57.343 回答
1

1)Runtime.getRuntime().totalMemory()不返回允许的最大堆大小。

2) 我不确定你是如何运行的Runtime.getRuntime().totalMemory(),但我猜你是在 Java 应用程序中的 Eclipse 中运行的。在这种情况下,您在另一个不从您的eclipse.ini文件继承属性的 JVM 中执行调用。如果您想确定它的初始和最大堆大小,您可以转到Run->Run Configurations.... 单击您当前的运行配置,然后在右窗格中单击Arguments选项卡。您可以在那里指定 VM 参数,例如:

-Xms64m
-Xmx1024m 

之后,您可以继续试验Runtime. eclipse.ini为 Eclipse IDE 配置资源,而不是为您运行的 Java 应用程序配置资源。

干杯!

于 2011-02-20T14:38:07.203 回答
0

谢谢你。所以解决方案是在 Eclipse 中从 Run->Run Configurations 设置 VM Arguments。我已将其设置为 -Xms3072m -Xmx3072m,现在运行时 totalMemory() 返回 3087007744,即 4gb ram 中的 2944MB,带有 64 位 Ubuntu 10.10 和 64 位 JVM。

于 2011-02-20T15:03:11.043 回答