这里有很多关于“如何增加堆大小”的问题,但我想了解这些设置实际上如何影响 Java 应用程序的内存消耗(在我的例子中是 Eclipse IDE,但我想这并不重要)。
我的 JVM 使用以下参数启动:
-Xms512m
-Xmx1024m
所以我希望当执行需要内存的东西时,堆大小将上升到 1024 MB。但是,我只看到 Eclipse 最多分配大约 700-800 MB。
(如果我正确理解该条,黄色部分是当前分配,整个条是最大分配,并且有一些我不知道它是什么的“标记”)。
当我开始编译一个大型项目时,我会定期看到黄色条上升,达到整个条的 90% 左右,然后回落到大约 200-300 MB。这没有利用最大允许的 1024MB,是吗?
如果有人可以向我解释这种行为以及如何改变它,那就太好了。
顺便说一句,如果这很重要,我的 Eclipse 是带有 64 位 JVM 的 64 位版本(不过,32 位的 1024 限制也应该没问题)。