2013-04-23 150 views
4

在启用+XX:PrintSafePointStatistics时,我看到stdout上的转储格式如下。任何人都可以请帮我解释列名或JVM指南,这正确解释了这一点?规范指南JVM似乎没有涵盖标题的含义及其解释。JVM SafePointStatistics - 任何人都可以帮忙解释它

@400000005175823c18c9d534 16762.525: GenCollectForAllocation   [  973   0    0 ]  [  0  0  0  5 53 ] 0 
@400000005175823c18c9f08c 16762.586: CMS_Initial_Mark     [  973   0    1 ]  [  0  0  0  4 24 ] 0 
@400000005175823c18ca0414 16774.619: GenCollectForAllocation   [  975   0    0 ]  [  0  0  0  5 77 ] 0 
@400000005175823c18ca0be4 16777.387: CMS_Final_Remark     [  975   0    0 ]  [  0  0  0  5 18 ] 0 
@400000005175823c18ca273c 16786.080: GenCollectForAllocation   [  974   0    1 ]  [  0  0  0  5  0 ] 0 
@400000005175823c18ca2f0c   vmop     [threads: total initially_running wait_to_block] [time: spin block sync cleanup vmop] page_trap_count 
@400000005175823c18ca3eac 16786.086: GenCollectFull     [  974   0    2 ]  [  0  0  0  4 89 ] 0 
@400000005175823c18ca5a04 16798.393: GenCollectForAllocation   [  974   1    1 ]  [  2  0  3  5 57 ] 1 
@400000005175823c18ca69a4 16811.539: GenCollectForAllocation   [  975   2    1 ]  [  1  0  1  5 61 ] 1 
@400000005175823c18ca7944 16824.551: GenCollectForAllocation   [  973   5    5 ]  [ 14  0 15  5  0 ] 5 
@400000005175823c18ca88e4 16824.572: GenCollectForAllocation   [  973   1    0 ]  [  0  0  0  4 60 ] 0 
@400000005175823c18ca9884 16824.639: GenCollectFull     [  973   0    4 ]  [  0  0  0  5 49 ] 0 
@400000005175823c18caa054 16837.516: GenCollectForAllocation   [  973   2    2 ]  [  3  0  3  5 31 ] 2 
@400000005175823c18cab7c4 16840.902: BulkRevokeBias     [  974   0    0 ]  [  0  0  0  5  6 ] 0 
@400000005175823c18cacf34 16848.729: GenCollectForAllocation   [  973   3    4 ]  [  4  0  5  4 55 ] 3 
@400000005175823c18cad704 16848.795: CMS_Initial_Mark     [  973   0    2 ]  [  0  0  0  4 24 ] 0 
@400000005175823c18caf25c 16853.969: GenCollectForAllocation   [  976   1    2 ]  [  2  0  3  5 92 ] 1 
@400000005175823c18cafa2c 16863.975: CMS_Final_Remark     [  977   0    0 ]  [  0  0  0  5 352 ] 0 
@400000005175823c18cb1584 16867.770: GenCollectForAllocation   [  976   0    0 ]  [  0  0  0  5 114 ] 0 
@400000005175823c18cb290c 16881.496: GenCollectForAllocation   [  976   3    2 ]  [  4  0  4  5 60 ] 2 
@400000005175823c18cb30dc 16891.580: RevokeBias      [  976   0    0 ]  [  0  0  0  5  0 ] 0 
@400000005175823c18cb4c34 16893.035: GenCollectForAllocation   [  976   1    1 ]  [ 10  0 11  4 58 ] 1 
@400000005175823c18cb5fbc 16904.123: GenCollectForAllocation   [  976   2    2 ]  [  5  0  5  5 65 ] 2 
@400000005175823c18cb678c 16911.201: no vm operation     [  975   0    0 ]  [  0  0  0  5  0 ] 0 
@400000005175823c18cb82e4 16916.963: GenCollectForAllocation   [  973   0    0 ]  [  0  0  0  5 56 ] 0 
@400000005175823c18cb966c 16927.307: GenCollectForAllocation   [  973   0    0 ]  [  0  0  0  4  0 ] 0 
@400000005175823c18cba60c 16927.312: GenCollectForAllocation   [  973   1    1 ]  [  0  0  0  4 54 ] 0 
@400000005175823c18cbb1c4 16927.373: CMS_Initial_Mark     [  973   0    7 ]  [  0  0  0  5 25 ] 0 
@400000005175823c18cbc934 16927.984: BulkRevokeBias     [  975   1    0 ]  [  0  0  0  5  7 ] 0 
@400000005175823c18cbe0a4 16938.088: GenCollectForAllocation   [  975   0    0 ]  [  0  0  0  5  0 ] 0 
@400000005175823c18cbe874 16938.096: GenCollectForAllocation   [  975   0    1 ]  [  0  0  0  4 77 ] 0 
@400000005175823c18cc0f84 16938.178: GenCollectFull     [  975   1    4 ]  [  0  0  0  4 76 ] 0 
@400000005175823c18cc136c 16941.404: CMS_Final_Remark     [  975   0    0 ]  [  0  0  0  5 17 ] 0 
@400000005175823c18cc230c 16948.600: GenCollectForAllocation   [  975   0    0 ]  [  0  0  0  5 33 ] 0 
@400000005175823c18cc2ec4 16959.957: GenCollectForAllocation   [  975   1    1 ]  [  5  0  5  5 56 ] 1 
@400000005175823c18cc4a1c 16969.805: GenCollectForAllocation   [  975   1    2 ]  [ 11  0 12  5 55 ] 1 
@400000005175823c18cc55d4   vmop     [threads: total initially_running wait_to_block] [time: spin block sync cleanup vmop] page_trap_count 
@400000005175823c18cc618c 16969.879: CMS_Initial_Mark     [  975   1    3 ]  [  0  0  0  4 22 ] 0 
@400000005175823c18cc712c 16981.455: GenCollectForAllocation   [  976   1    1 ]  [  8  0  8  4 76 ] 1 
@400000005175823c18cc80cc 16984.811: CMS_Final_Remark     [  976   1    1 ]  [  2  0  3  5 23 ] 1 
@400000005175823c18cc983c 16992.365: GenCollectForAllocation   [  975   5    5 ]  [ 23  0 23  4 95 ] 5 
@400000005175823c18cca3f4 17005.029: GenCollectForAllocation   [  975   0    0 ]  [  0  0  0  5 55 ] 0 
@400000005175823c18ccbb64 17013.074: BulkRevokeBias     [  976   0    0 ]  [  0  0  0  4  8 ] 0 
@400000005175823c18ccc71c 17015.502: GenCollectForAllocation   [  975   0    0 ]  [  0  0  0  5 57 ] 0 
@400000005175823c18ccde8c 17025.293: GenCollectForAllocation   [  975   0    0 ]  [  0  0  0  5 52 ] 0 
@400000005175823c18ccf214 17034.678: GenCollectForAllocation   [  973   3    3 ]  [ 15  0 16  4 45 ] 3 
@400000005175823c18ccfdcc 17045.910: GenCollectForAllocation   [  973   0    0 ]  [  0  0  0  5 54 ] 0 
@400000005175823c18cd153c 17056.883: GenCollectForAllocation   [  973   1    2 ]  [  1  0  1  5  0 ] 1 
+0

btw。这是什么JVM版本? – 2013-04-23 22:16:43

+0

Java HotSpot(TM)64位服务器VM/1.6.0_35 – Ananth 2013-04-24 01:56:00

+0

请忽略上面日志中的第一列。第一列是从写日志的非jvm工具生成的。 – Ananth 2013-04-28 01:10:22

回答

6

我发现在Java性能一书中的简短说明:

每一行包含自VM推出的还原点操作的发生,类型虚拟机运行的,在VM活动线程的当前数目时,当前线程数量,最初运行的当前线程数量,等待阻塞的当前线程数量,线程花费的时间量(以毫秒为单位),线程花费的时间量(以毫秒为单位),线程花费的时间量(以毫秒为单位进行同步),时间量以毫秒线程花费清理,在VM操作中花费的毫秒数量以及页面陷阱数量。

在输出结束时会打印一个摘要,汇总不同安全点操作的数量以及以毫秒为单位的最大同步时间以及花费最长时间的安全点操作。

对于强调低延迟并希望将延迟事件与HotSpot VM引起的延迟相关联的应用程序非常有用,因为它们是安全点操作的结果。

另请参阅-XX:+PrintGCApplicationStoppedTime-XX+PrintGCApplicationConcurrentTime

+0

谢谢堆积啤酒。这真的很有帮助。 – Ananth 2013-04-24 00:57:26

2

尝试this page on PrintSafepointStatistics。 我想一些进一步的研究,你会发现一些有用的东西。

+0

感谢您的指针。事实上,我更早地查看了链接,但无法获得相同的指针。作者提到JVM SafePoint协议,寻找该指南也没有帮助,因为似乎没有这样的指南。 – Ananth 2013-04-23 20:14:45

+0

呃,我很抱歉偷你的时间。我希望你能得到更好的答案! – yrk 2013-04-23 20:21:25

相关问题