?????????????????JVM??????????????????????????????Щ??????startup option?????????????bug??????????????????????????????????????????????????????????-XX:+HeapDumpOnOutOfMemoryError ?? -XX:+PrintGCDetails?????????flag??
???????????????????????????JVM??????????????startup parameter???????????????????????????problematic situation?????????????????????????????????Ч?????????????????????????????????????????????????
?????????????????????????????????——??????????ζ????????????????????debug?????????????ж??outage????????????JDK bundle?????????е??????????????????????£??????????л??檔
????jinfo
??????JDK bundle?????????????????С????——jinfo?????????????й????jinfo??????????????е?Java??????????????jinfo???????????????????????-flag????????????Java?????е??ЩJVM flag??????????????flag???????????????????????????????????μ?????????????JVM????Щflag?????jinfo???????
????my-precious me$ java -XX:+PrintFlagsFinal -version|grep manageable
????intx CMSAbortablePrecleanWaitMillis            = 100                                 {manageable}
????intx CMSWaitDuration                           = 2000                                {manageable}
????bool HeapDumpAfterFullGC                       = false                               {manageable}
????bool HeapDumpBeforeFullGC                      = false                               {manageable}
????bool HeapDumpOnOutOfMemoryError                = false                               {manageable}
????... cut for brevity ...
????bool PrintGC                                   = false                               {manageable}
????bool PrintGCDateStamps                         = false                               {manageable}
????bool PrintGCDetails                            = false                               {manageable}
????bool PrintGCTimeStamps                         = false                               {manageable}
??????????-XX:+PrintFlagsFinal?????г????е?JVM flag???????е????manageable ??flag?????????????????????Щflag?????JDK management interface??-XX:+PrintFlagsFinal??????????????JConsole?????鵽????????????MBean????????????????????е????????????????
??????????jinfo
?????????????????????????jinfo??????????????У??????????????????е?JVM?ж??????GC????????
????my-precious me$ jps
????12278 HighAllocationRate
????12279 Jps
????12269 JConsole
????my-precious me$ jinfo -flag +PrintGCDetails 12278
????my-precious me$ jinfo -flag +PrintGC 12278
????my-precious me$
??????jinfo???????-XX:+PrintGC?? -XX:+PrintGCDetails?????????????GC????????????????в????????????????????——????????????????startup script???????ò?????????-XX:+PrintGCDetails????????-XX:+PrintGC?????????
????????????standard output??????????PID?12278??????GC????????????????????????
????...
????[GC (Allocation Failure) [PSYoungGen: 876416K->102624K(909312K)] 1094420K->320820K(1161216K)?? 0.2173131 secs] [Times: user=0.74 sys=0.00?? real=0.22 secs]
????...
????[GC (Allocation Failure) [PSYoungGen: 890304K->102240K(917504K)] 1108924K->320956K(1169408K)?? 0.2446639 secs] [Times: user=0.82 sys=0.01?? real=0.25 secs]
????...
??????????????GC???????????????jinfo -flag -PrintGCDetails 12278?? jinfo -flag -PrintGC 12278?????ɡ?
???????????????????jinfo????????????????????????????????????????????????Plumbr????????????????????δ?й???????????