jmap --help/-?/-h 是 最好的官方文档
jsp:JVM Process Status Tool
虚拟机进程状况工具
jstat :JVM Statistics Monitoring Tool
虚拟机统计信息监视工具
jstat命令格式为:
jstat [ option vmid [interval[s|ms] [count]] ]
jstat -gc 1524 250 20
S0C S1C S0U S1U EC EU OC OU MC MU CCSC CCSU YGC YGCT FGC FGCT CGC CGCT GCT
1216.0 1216.0 0.0 197.9 10240.0 5563.9 12604.0 8245.0 28800.0 24588.8 4992.0 3360.7 8105 13.302 3 0.117 - - 13.420
1216.0 1216.0 0.0 197.9 10240.0 5564.2 12604.0 8245.0 28800.0 24588.8 4992.0 3360.7 8105 13.302 3 0.117 - - 13.420
jstat -gcutil 2764
S0 S1 E O P YGC YGCT FGC FGCT GCT
0.00 0.00 6.20 41.42 47.20 16 0.105 3 0.472 0.577
查询结果表明:这台服务器的新生代Eden区(E,表示Eden)使用了6.2%的空间,
2个Survivor区 (S0、S1,表示Survivor0、Survivor1)里面都是空的,
老年代(O,表示Old)和永久代(P,表示 Permanent)则分别使用了41.42%和47.20%的空间。程序运行以来共发生Minor GC(YGC,表示Young GC)16次,总耗时0.105秒;发生Full GC(FGC,表示Full GC)3次,总耗时(FGCT,表示Full GC Time)为0.472秒;所有GC总耗时(GCT,表示GC Time)为0.577秒。
jinfo : Configuration Info for Java
jinfo(Configuration Info for Java)的作用是实时查看和调整虚拟机各项参数。使用jps命令的-v参 数可以查看虚拟机启动时显式指定的参数列表,但如果想知道未被显式指定的参数的系统默认值,除 了去找资料外,就只能使用jinfo的-flag选项进行查询了
jinfo命令格式:
jinfo [ option ] pid
例如查询CMSInitiatingOccupancyFraction参数值
jinfo -flag CMSInitiatingOccupancyFraction 1444
-XX:CMSInitiatingOccupancyFraction=85
例如修改CMSInitiatingOccupancyFraction参数值
jinfo -flag CMSInitiatingOccupancyFraction=1444