Java JVM SafePointStatistics—有人能帮助解释它吗
启用Java JVM SafePointStatistics—有人能帮助解释它吗,java,performance,garbage-collection,jvm,locking,Java,Performance,Garbage Collection,Jvm,Locking,启用+XX:PrintSafePointStatistics时,我在标准输出上看到以下格式的转储。有谁能帮我解释一下列名或正确解释这一点的JVM指南吗?JVM规范指南似乎根本没有涵盖头的含义及其解释 @400000005175823c18c9d534 16762.525: GenCollectForAllocation [ 973 0 0 ] [ 0 0 0 5 53
+XX:PrintSafePointStatistics
时,我在标准输出上看到以下格式的转储。有谁能帮我解释一下列名或正确解释这一点的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
试试看。
我想通过进一步的研究,你会发现一些有用的东西 我在Java性能手册中找到了一个简短的解释:
每行包含自VM启动safepoint操作以来发生的时间、VM操作的类型、VM中当前活动的线程数、当前线程数、当前初始运行的线程数、当前等待阻止的线程数、线程旋转所用的时间(毫秒),阻止线程所用的时间(以毫秒为单位)、线程同步所用的时间(以毫秒为单位)、清理线程所用的时间(以毫秒为单位)、VM操作所用的时间(以毫秒为单位)以及页面陷阱数
在输出的末尾打印一个摘要,总结不同的安全点操作的数量,以及以毫秒为单位的最大同步时间和占用最大时间的安全点操作
对于强调低延迟并希望将延迟事件与热点VM诱发的延迟关联(作为safepoint操作的结果)的应用程序非常有用
另请参见-XX:+PrintGCApplicationStoppedTime
和-XX+printgcApplicationcCurrentTime
谢谢您的指针。事实上,我在前面查看了链接,但没有找到任何相同的指针。作者提到了JVM安全点协议,寻找该指南也没有帮助,因为似乎没有这样的指南。嗯,很抱歉占用了您的时间。我希望你能得到更好的答案!顺便问一下,这是什么JVM版本?Java HotSpot(TM)64位服务器VM/1.6.0#请忽略上面日志中的第一列。第一列是由一个非jvm工具编写日志生成的。这真的很有帮助。