JVM SafePointStatistics - 任何人都可以帮助解释它 [英] JVM SafePointStatistics - Can anyone help interpret it

查看:334
本文介绍了JVM SafePointStatistics - 任何人都可以帮助解释它的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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



<$ p $ @ 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 [线程:初始运行总计wait_to_block] [时间:旋转块同步清除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
@ 400000005 175823c18cbe874 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 [thread:总最初运行的wait_to_block] [时间:自旋块同步清除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


解决方案

我在J中找到了一个简短的解释ava性能手册:


每行包含发生安全特性操作发生VM的时间,虚拟机操作类型,当前活动线程数在VM中,当前线程数量,当前正在运行的线程数量,等待阻塞的当前线程数量,线程花费的时间量(以毫秒为单位),线程花费的时间量(以毫秒为单位),线程花费的时间量(以毫秒为单位)同步,用于清理的毫线程中的时间量,用于VM操作的毫秒数量以及页面陷阱的数量。 在总结不同安全点操作数的输出结果的最后打印一个摘要,同时以毫秒为单位的最大同步时间以及占用最大数量的时间。

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

另见 -XX:+ PrintGCApplicationStoppedTime -XX + PrintGCApplicationConcurrentTime


On enabling the +XX:PrintSafePointStatistics , I see a dump on the stdout in the following format. Can anyone please help me interpret the column names or the JVM guide which explains this properly? The JVM specification guide does not seem to be covering the meaning of the headers and its explanation at all.

@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

解决方案

I have found a short explanation in the Java Performance book:

Each line contains the time since VM launch of the safepoint operation occurred, type of VM operation, current number of threads active in the VM, current number of threads, current number of threads initially running, current number of threads waiting to block, amount of time in milliseconds threads spent spinning, amount of time in milliseconds threads spent blocked, amount of time threads spent in milliseconds synchronizing, amount of time in millis threads spent cleaning, amount of time in millis spent in VM operations, and number of page traps.

A summary is printed at the end of the output summarizing the number of different safepoint operations along with a maximum synchronization time in millis and the safepoint operation that took the maximum amount of time.

Useful for application emphasizing low latency and wanting to correlate latency events to HotSpot VM induced latencies as the result of safepoint operations.

See also -XX:+PrintGCApplicationStoppedTime and -XX+PrintGCApplicationConcurrentTime.

这篇关于JVM SafePointStatistics - 任何人都可以帮助解释它的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆