for*_*all 11 java garbage-collection jvm
对于以下Java版本:
OpenJDK版本"1.6.0"
OpenJDK运行时环境(版本1.6.0-b23)
OpenJDK 64位服务器VM(版本20.0-b11,混合模式)
使用以下GC标记:
-verbose:gc
-XX:+ UseConcMarkSweepGC
-XX:+ CMSClassUnloadingEnabled
-XX:+ PrintGCDetails
-XX:+ PrintGCDateStamps
我们得到如下日志行:
2012-11-09T16:46:53.438-0100:[CMS-concurrent-mark:4.039/4.060 secs] [次:用户= 4.09 sys = 35.05,real = 4.06 secs]
最初的"4.039/4.060秒"应根据https://blogs.oracle.com/poonam/entry/understanding_cms_gc_logs表示并发标记总共需要4.039秒的cpu时间和4.060秒的挂起时间(包括其他线程的收益率) ).
但是用户,系统和实际值在这里意味着什么?
sys和user是专门的CPU时间.因此,它们不包括进程被CPU阻止或进行I/O等的时间.
GC时间通常应与sys +用户时间相似,但如果进程被阻塞或等待则会更高.对于串行收集器和单个处理器盒,情况确实如此.但是,在多处理器环境(使用并行收集器)中,GC时间将小于sys +用户时间,因为有多个CPU.
实时时间与GC时间相似.
归档时间: |
|
查看次数: |
6213 次 |
最近记录: |