看一下GC日志文件,它的不言而喻地了解该应用已停止了0.0011450秒(“世界停止”)
Total time for which application threads were stopped: 0.0011450 seconds
但是,请帮助我了解以下内容是否也意味着世界末日?还是只显示每个线程花费的时间,real = TIME是什么意思(下面的最后一行)?
Finished work stealing in 3th thread: 13.706 sec
Finished work stealing in 2th thread: 17.325 sec
Finished work stealing in 4th thread: 17.052 sec
Finished work stealing in 0th thread: 17.325 sec
Finished work stealing in 1th thread: 17.324 sec
2015-08-19T03:20:32.882-0400: 321985.669: [CMS-concurrent-mark: 20.519/20.624 secs] (CMS-concurrent-mark yielded 6 times)
[Times: user=138.91 sys=0.10, real=20.62 secs]
最佳答案
在搜索“ CMS-concurrent-mark”时,This oracle blog post是第一个结果,并说明了各个CMS阶段。
通过GCviewer运行日志还将分别列出STW和非STW阶段。
而且,由于您已经启用了应用程序停止时间日志记录功能,因此无论是否为STW暂停,缺少停止时间日志记录条目都应该是无用的。
real = TIME是什么意思(下面的最后一行)?
例如,此输出等同于您从time获得的输出。另请参见this SO answer。或this one专门指CMS日志。
关于java - 了解GC日志-应用线程已停止,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32120571/