在什么情况下JVM会停止打印gc.log?

时间:2015-05-25 08:08:28

标签: java garbage-collection jvm

我的应用程序的gc.log显示以下信息:

2015-05-23T03:51:10.086+0800: 648560.384: [GC 648560.384: [ParNew: 311342K->3965K(409600K), 0.0025980 secs] 390090K->82715K(1433600K), 0.0028290 secs] [Times: user=0.04 sys=0.00, real=0.00 secs] 
2015-05-23T03:51:10.506+0800: 648560.804: [GC 648560.804: [ParNew: 311165K->3784K(409600K), 0.0030820 secs] 389915K->82536K(1433600K), 0.0032760 secs] [Times: user=0.04 sys=0.00, real=0.00 secs] 
2015-05-25T15:20:54.421+0800: 862744.719: [GC 862744.719: [ParNew: 310984K->3625K(409600K), 0.0032810 secs] 389736K->82379K(1433600K), 0.0036910 secs] [Times: user=0.04 sys=0.00, real=0.00 secs] 
2015-05-25T15:20:54.549+0800: 862744.846: [GC 862744.846: [ParNew: 310825K->11547K(409600K), 0.0037930 secs] 389579K->90305K(1433600K), 0.0040420 secs] [Times: user=0.06 sys=0.00, real=0.01 secs] 

如您所见,gc.log已于2015-05-23:03:51:10至2015-05-25:15:20:54停止打印。

我的应用程序是一个长期运行的服务器端应用程序,它基于Netty。所以基本上可能在这几个小时内没有垃圾收集。

并不是因为磁盘已满。还剩下足够的空间。

这是我的JVM参数:

-Xmx2048m -Xms1024m -verbose:gc -Xloggc:./gc.log -XX:CMSInitiatingOccupancyFraction=70 -XX:+UseCMSCompactAtFullCollection -XX:MaxTenuringThreshold=10 -XX:-UseAdaptiveSizePolicy -XX:PermSize=256M -XX:MaxPermSize=512M -XX:SurvivorRatio=3  -XX:NewRatio=2 -XX:+PrintGCDateStamps  -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+PrintGCDetails

1 个答案:

答案 0 :(得分:1)

经过漫长的漫长谷歌,我发现了问题。

这实际上是linux中的一个错误。请参阅this google group post

这真是一个很大的“哎哟”。