今天读到一篇文章。
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
jvm运行时功能开启
猜你喜欢
转载自zeroman.iteye.com/blog/2207179
今日推荐
周排行