7

在启用 时+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
4

2 回答 2

8

我在 Java Performance book 中找到了一个简短的解释:

每行包含自 VM 启动安全点操作以来发生的时间、VM 操作的类型、VM 中当前活动的线程数、当前线程数、当前初始运行的线程数、当前等待阻塞的线程数、数量线程花费在旋转上的时间(毫秒)、线程花费阻塞的时间(毫秒)、线程同步花费的时间(毫秒)、线程花费的时间(毫秒)、VM 操作花费的时间(毫秒)以及页面陷阱的数量。

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

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

另见-XX:+PrintGCApplicationStoppedTime-XX+PrintGCApplicationConcurrentTime

于 2013-04-23T22:07:49.803 回答
2

在 PrintSafepointStatistics 上试试这个页面。我认为通过进一步的研究,您会发现对此有用的东西。

于 2013-04-23T20:02:35.847 回答