繁体   English   中英

GC日志问题

[英]GC log question

GC日志中以下(粗体)的含义是什么:

81296.997:[GC 7431462K-> 6692307K(8283776K),1.0975224秒]
82337.956:[GC 7531219K-> 6800788K(8283776K),1.1563326 secs]
83338.712:[GC 7639700K-> 6898225K(8283776K),1.0868988 secs]
83339.816:[GC 6899724K(8283776K),0.1227785 secs]
83351.437:[GC 6911811K(8283776K),0.4253903 secs]
84363.941:[GC 1859011K-> 1125589K(8283776K),0.9137798 secs]
85319.780:[GC 1964501K-> 1217720K(8283776K),0.8500309 secs]

我希望在我的Xmx的95%左右之后有一个Full in log,但我看到的是上面的。 我的设置如下:

 -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?

这看起来很奇怪。 粗体的线条似乎属于年轻一代的GC。 从这个事实看来,没有空间被释放,并且从他们采取的短时间内他们失败的尝试,这可能发生,因为老一代没有足够的空间来保留所有需要的对象。

我觉得奇怪的是下一行:

84363.941:[GC 1859011K - > 1125589K(8283776K),0.9137798秒]

两者之间发生了什么让四分之三的记忆自由了? 这可能是由parralel GC记录引起的异常,但有些东西并不存在。

您可以尝试添加-XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintTenuringDistribution以获得更清晰的视图。 (当然,与-Xloggc:<log file>选项一起使用。)

我不太确定,但似乎是括号外的数字是时间戳,'GC'之后的数字是GC之后的内存,括号中的数字是GC之前的数字。 其余的很直观。

暂无
暂无

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

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