在GC日志中关注(粗体)的含义是什么:
81296.997:[GC 7431462K-> 6692307K(8283776K), 1.0975224秒]
82337.956:[GC 7531219K-> 6800788K(8283776K), 1.1563326秒]
83338.712:[GC 7639700K-> 6898225K(8283776K), 1.0868988秒]
83339.816:[GC 6899724K(8283776K),0.1227785秒]
83351.437:[GC 6911811K(8283776K),0.4253903秒]
84363.941:[GC 1859011K-> 1125589K(8283776K), 0.9137798秒]
85319.780:[GC 1964501K-> 1217720K(8283776K), 0.8500309秒]
我希望在我的Xmx的95%左右之后记录完整,但我看到的是上面的内容。我的设置如下:
-d64 -Xss384k -Xms8192m -Xmx8192m -XX:ParallelGCThreads=12 -XX:PermSize=512m -XX:MaxPermSize=512m -XX:NewSize=1024m -XX:MaxNewSize=1024m -XX:SurvivorRatio=8 -Xnoclassgc -XX:+DisableExplicitGC -verbose:gc -XX:+UseParNewGC -XX:+CMSParallelRemarkEnabled -XX:+UseConcMarkSweepGC
让我重新解释一下我的问题:我知道整行的含义,但我的问题是为什么粗线条不同以及它是什么类型的GC?我不认为它是一代Young GC,如果没有,那么这是什么类型的GC?
答案 0 :(得分:3)
这看起来很奇怪。粗体的线条似乎属于年轻一代的GC。从这个事实看来,没有空间被释放,并且从他们采取的短时间内他们是失败的尝试,这可能发生,因为老一代没有足够的空间来保留所有需要的物体。
我觉得奇怪的是下一行:
84363.941:[GC 1859011K - > 1125589K(8283776K),0.9137798秒]
之间发生了什么让四分之三的记忆释放了?这可能是parralel GC记录引起的异常现象,但有些事情并不存在。
您可以尝试添加-XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintTenuringDistribution
以获得更清晰的视图。 (当然,与-Xloggc:<log file>
选项一起使用。)
答案 1 :(得分:1)
我不是很确定,但似乎是括号外的数字是时间戳,是&#39; GC&#39;之后的数字。 GC后的内存,括号中的内存是GC发生前的数字。其余的很直观。