jvm运行时功能开启

今天读到一篇文章。
http://www.codeceo.com/article/jvm-runtime-gc-log.html

里面提到了jvm可以在运行时动态开启一些开关,以前在使用jinfo的时候没有注意到这点,感觉比较实用,作为工具收藏下。

1. jvm可以在运行时修改的选项查看
    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}       
    ccstr HeapDumpPath                              =                 {manageable}       
    uintx MaxHeapFreeRatio                          = 100             {manageable}       
    uintx MinHeapFreeRatio                          = 0               {manageable}       
     bool PrintClassHistogram                       = false           {manageable}       
     bool PrintClassHistogramAfterFullGC            = false           {manageable}       
     bool PrintClassHistogramBeforeFullGC           = false           {manageable}       
     bool PrintConcurrentLocks                      = false           {manageable}       
     bool PrintGC                                   = false           {manageable}       
     bool PrintGCDateStamps                         = false           {manageable}       
     bool PrintGCDetails                            = false           {manageable}       
     bool PrintGCTimeStamps                         = false           {manageable} 

   列出的即为可以在运行时修改的选项

2. 动态修改选项
  
   jinfo -flag +Option  pid

  如
  jinfo -flag +PrintGC pid

  可以先用jps 找到要修改的jvm pid


  
  

猜你喜欢

转载自zeroman.iteye.com/blog/2207179
今日推荐