【发布时间】:2011-10-23 17:45:43
【问题描述】:
我一直在 eclipse 和 intellij 中查看 os x 上的 JVM 堆大小,并直接通过命令行运行应用程序,我看到了一个奇怪的行为,我希望有人能解释一下。
-
如果我为 Eclipse 将 jvm 堆大小设置为较大(例如超过 1gb),然后运行一个执行的 hello world 应用程序
System.out.println(Runtime.getRuntime().maxMemory());
我看到它有 129957888 (128mb) 作为最大内存。
如果我在 intellij 中运行相同的实验,我会得到相同的结果,但底部角落的堆大小指示器显示我只能使用 2gb 中的 100mb。
如果我只运行 java test -Xmx1024mb,那么它会告诉我我有正确的最大内存量。 (8倍)
我已经在 10.6 和 10.7 上尝试过这个,我看到了同样的事情,所以我想知道 IDE 没有像我希望的那样消耗那么多的堆大小是怎么回事。当我的机器上的内存未使用时,我的空间错误越来越多,我发现这很荒谬。
感谢任何人提供的任何帮助。
【问题讨论】:
标签: macos jvm heap-memory