JVM SafePointStatistics - 任何人都可以帮助解释它

时间:2013-04-23 19:58:44

标签: java performance garbage-collection jvm locking

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

@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

2 个答案:

答案 0 :(得分:7)

我在Java性能书中找到了一个简短的解释:

  

每行包含自VM启动安全点操作以来的时间,VM操作的类型,VM中当前活动的线程数,当前线程数,当前最初运行的线程数,当前等待阻塞的线程数,以毫秒为单位的线程花费的时间,以毫秒为单位的线程花费的时间量,以毫秒为单位的线程花费的时间量,以毫秒为单位的线程清理时间,以及在VM操作中花费的毫秒数,以及页面陷阱。

     

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

     

对于强调低延迟并希望将延迟事件与安全点操作导致的HotSpot VM引起的延迟相关联的应用程序非常有用。

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

答案 1 :(得分:2)

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