【发布时间】:2014-07-24 00:46:27
【问题描述】:
今天我在调整我的 java 堆大小时发现了一个奇怪的行为。作为衡量我年轻一代规模的参数,我选择:
-XX:NewSize=2100M
-XX:MaxNewSize=2100M
另外,我关闭了 AdaptiveSizePolicy:
-XX:-UseAdaptiveSizePolicy
根据这三个参数,我的年轻代应该一直是 2100M。但是当我查看我的 gc-log 时,大小只有 1900 MB (~89%)。当尝试不同的大小时,日志中的年轻代大约是相同的百分比 (~89%)。
整个堆为 5 GB。在日志文件中,整个堆的大小很好(~ 4,97 GB)。我使用的收集器是用于年轻代的 PSYoungGen 和用于老年代的 ParallelOldGC。
有人能简单解释一下为什么年轻一代的规模小于应有的规模吗?
【问题讨论】:
-
你能发布 gc 日志吗?
标签: java garbage-collection heap-memory