繁体   English   中英

VisualVM将Xmx显示为最大堆大小的两倍

[英]VisualVM shows double Xmx as Max Heap Size

我有以下问题:

有一个Java VM,其Xmx Option设置为70000m = 70GB(是的,它很大)。 但是,如果我监视前面提到的JVM,Max Heap将显示为140000m(如屏幕截图所示)。

屏幕截图

下面列出了已使用的JVM选项:

-XX:+UseG1GC
-Duser.timezone=Europe/Berlin
-Djava.security.egd=file:///dev/urandom
-Dsun.rmi.transport.tcp.handshakeTimeout=180000
-Dsun.rmi.dgc.client.gcInterval=600000
-Dsun.rmi.dgc.server.gcInterval=600000
-verbose:gc
-XX:CICompilerCount=2
-Xrunjdwp:transport=dt_socket,server=y,address=3997,suspend=n
-Xms70000m
-Xmx70000m
-XX:+UnlockExperimentalVMOptions
-XX:G1HeapRegionSize=32
-XX:MaxGCPauseMillis=200
-XX:G1NewSizePercent=2
-XX:G1MaxNewSizePercent=60
-XX:ParallelGCThreads=8
-XX:ConcGCThreads=2
-XX:InitiatingHeapOccupancyPercent=45
-XX:G1MixedGCLiveThresholdPercent=65
-XX:G1HeapWastePercent=10
-XX:G1OldCSetRegionThresholdPercent=10
-XX:G1ReservePercent=10

有人暗示,为什么VisualVM显示最大堆大小的两倍?

使用G1垃圾收集器时,这是visualVM中的错误,最大值实际上并不是那么大。 Jconsole确实会正确报告它。

以下报告提供了可能的解释。 这是因为不同的世代不再具有固定的大小,而是每个世代的最大大小是整个堆的大小(因为它们都可以根据需要使用很多)。 我目前尚未找到任何官方的错误报告。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM