jvm java os x堆大小问题

wkftcu5l  于 2022-11-23  发布在  Java
关注(0)|答案(1)|浏览(124)

我一直在Eclipse和intellij中查看os x上的JVM堆大小,并直接通过命令行运行应用程序,我看到了一个奇怪的行为,我希望有人能解释一下。
1.如果我为eclipse将JVM堆大小设置为较大的值(例如,超过1gb),然后运行一个hello world应用程序,
在运行时,系统会自动生成一个新的文件。
我看到它的最大内存为129957888(128 MB)。
1.如果我在intellij中运行同样的实验,我会得到同样的结果,但是底部角落的堆大小指示器显示我只使用了2gb中的100 mb。
1.如果我只是运行java测试-xmx 1024 mb,那么它告诉我我有正确的最大内存量。(8倍)
我已经在10.6和10.7上尝试过了,我看到了同样的事情,所以我想知道IDE没有像我希望的那样消耗那么多的堆大小是怎么回事。当我的机器上有几千兆字节的RAM闲置时,我得到了堆空间不足的错误,我发现这很荒谬。
感谢任何人能提供的帮助。

hgqdbh6s

hgqdbh6s1#

这听起来像是在为IDE的JVM设置堆大小,而不是为IDE启动以运行程序的JVM设置堆大小。如果IDE在运行代码的同一JVM中运行代码,这将是危险的。
在Eclipse中,运行程序时使用的默认堆大小是128 MB。您可以使用运行或调试配置覆盖此值。
1.右键单击要运行main方法的Java类
1.选择运行方式-〉运行配置...
1.单击“Arguments(参数)”选项卡
1.在VM参数部分中,输入-Xmx 256 m
1.单击运行
上述设置将JVM使用的最大堆大小设置为256 MB。
测试类的输出现在应该是265093120。

相关问题