JVM性能监控和故障处理工具
2020-11-20 13:56:09 0 举报
AI智能生成
JVM性能监控和故障处理工具
作者其他创作
大纲/内容
jps
查看系统中所有的HotSpot虚拟机进程
使用
格式:jps [options] [hostid]
-q: 只输出pid
-m:输出启动时传给main方法的参数
-l:输出烛泪的全名,如果是jar文件,则输出jar路径
示例:
73911 sun.tools.jps.Jps
42166
65118 com.ad.core.CoreApplication
示例:
73911 sun.tools.jps.Jps
42166
65118 com.ad.core.CoreApplication
-v:输出虚拟机进程启动时候的JVM参数
jstat
JVM Statistics Monitoring Tool,监视虚拟机各种运行状态信息
使用
格式:jstat [option vmid [interval [s|ms] [count]]]
说明:interval表示间隔,count表示次数
-class: 监视类加载,卸载数量,总空间以及类装在所消耗的时间
示例:
jstat -class 65118
Loaded Bytes Unloaded Bytes Time
13713 24265.7 12 13.3 6.06
示例:
jstat -class 65118
Loaded Bytes Unloaded Bytes Time
13713 24265.7 12 13.3 6.06
-gc: 监视Java堆状况
示例:
jstat -gc 65118 100 2
S0C S1C S0U S1U EC EU OC OU MC MU CCSC CCSU YGC YGCT FGC FGCT GCT
19968.0 1024.0 0.0 0.0 449536.0 338709.8 164864.0 39362.0 69248.0 64132.8 9856.0 8943.9 17 0.223 6 0.969 1.193
19968.0 1024.0 0.0 0.0 449536.0 338709.8 164864.0 39362.0 69248.0 64132.8 9856.0 8943.9 17 0.223 6 0.969 1.193
示例:
jstat -gc 65118 100 2
S0C S1C S0U S1U EC EU OC OU MC MU CCSC CCSU YGC YGCT FGC FGCT GCT
19968.0 1024.0 0.0 0.0 449536.0 338709.8 164864.0 39362.0 69248.0 64132.8 9856.0 8943.9 17 0.223 6 0.969 1.193
19968.0 1024.0 0.0 0.0 449536.0 338709.8 164864.0 39362.0 69248.0 64132.8 9856.0 8943.9 17 0.223 6 0.969 1.193
-gcutil: 与-gc基本相同,主要关注已使用空间占总空间对百分比
示例:
jstat -gcutil 65118
S0 S1 E O M CCS YGC YGCT FGC FGCT GCT
0.00 0.00 64.91 23.88 92.61 90.75 17 0.223 6 0.969 1.193
示例:
jstat -gcutil 65118
S0 S1 E O M CCS YGC YGCT FGC FGCT GCT
0.00 0.00 64.91 23.88 92.61 90.75 17 0.223 6 0.969 1.193
-gcnew: 监视新生代对垃圾回收情况
示例:
jstat -gcnew 65118
S0C S1C S0U S1U TT MTT DSS EC EU YGC YGCT
19968.0 1024.0 0.0 0.0 6 15 20480.0 449536.0 378095.1 17 0.223
示例:
jstat -gcnew 65118
S0C S1C S0U S1U TT MTT DSS EC EU YGC YGCT
19968.0 1024.0 0.0 0.0 6 15 20480.0 449536.0 378095.1 17 0.223
-printcompilation: 输出以及被即时编译对方法
示例:
jstat -printcompilation 65118
Compiled Size Type Method
8237 88 1 org/apache/tomcat/util/buf/CharsetCache getCharset
示例:
jstat -printcompilation 65118
Compiled Size Type Method
8237 88 1 org/apache/tomcat/util/buf/CharsetCache getCharset
jinfo
实时查看和调整虚拟机各项参数
使用
格式:jinfo [option] pid
-flags: 查看启动参数
-flag name pid: 查看某个参数
示例:
jinfo -flag CMSInitiatingOccupancyFraction 79102
-XX:CMSInitiatingOccupancyFraction=-1
示例:
jinfo -flag CMSInitiatingOccupancyFraction 79102
-XX:CMSInitiatingOccupancyFraction=-1
-sysprops: 查看系统参数
-flag [+|-] name 或 -flag name=value: 在运行期修改部分虚拟机参数
jmap
内存映像工具,用于生成堆转储快照 heapdump或dump文件
使用
格式:jmap [option] vmid
-dump: 生成Java堆快照。格式 -dump:[live],format=b,file=<filename>, live表示是否只dump出存活的对象
-heap:显示堆详细信息,如使用那种回收器,参数配置,分代情况等
-histo: 显示堆中对象统计信息,包括类,实例树立,合计容量
-F: 当-dump没有响应当时候,使用这个选项强制生成dump快照
jstack
堆栈跟踪工具,用于生成虚拟机在当前时刻的线程快照 threaddump 或者 javacore文件
目的
定位线程出现长时间停顿的原因:如死锁,死循环,请求外部资源导致的长时间刮起等
查看线程的调用堆栈
使用
格式:jstack [option] vmid
-F: 正常输出的请求不被响应的时候,强制输出线程堆栈
-l: 除堆栈外,显示关于锁的附加信息
子主题
jhat
虚拟机快照分析工具,与jmap搭配使用,但是分析功能简单,且分析工作耗时,不建议使用
可以将快照文件复制到其他机器,然后使用 VisualVM 或 其他张掖快照分析工具分析
jhsdb
jdk9 开始提供,集成了jstate, jinfo,jmap, jhat,jstack
使用
查看堆快照:jhsdb jmap --binaryheap
查看堆中对象统计信息:jhsdb jmap --histo
查看线程堆栈信息:jhsdn jstack --locks
查看虚拟机参数配置,包括默认参数:jhsdb jinfo --flags, 等同于 jinfo -flags <pid>
jcmd
虚拟机诊断命令工具,将诊断命令请求发送到正在云南行到Java虚拟机。
使用
查看虚拟机进程: jcmd, 等同于 jps -lm
查看堆快照:jcmd <pid> GC.heap_dump
查看堆中对象统计信息:jcmd <pid> GC.class_histogram
查看线程堆栈信息:jcmd <pid> Thread.print
查看虚拟机参数配置,包括默认参数:jcmd <pid> VM.flags, 等同于 jinfo -flags <pid>
性能监控和故障处理工具
可视化故障处理工具
jconsole
监视与控制管理控制台。基于JMX(Java Management Extensions)的可视化监视,管理工具
启动:jconsole
功能:内存监控,线程监控,检测死锁
jhsdb
基于服务性代理实现堆进程外调试工具
启动: jhsdb hsdb --pid <pid>
功能:可以查看对象堆堆内存分布,和线程堆栈内存分布
jvisualvm
多合一故障处理工具,支持插件扩展
启动: jvisualvm
功能:
显示虚拟机进程以及进程的配置、环境信息(jps, jinfo)
监视应用程序的处理器、垃圾收集,堆、方法区以及线程对信息(jstat,jstack)
dump以及分析堆转储快照(jmap, jhat)
方法级的程序运行性能分析,找出被调用最多,运行时间最长的方法。
离线程序快照:收集程序的运行时配置,线程dump,内存dump等信息建立一个快照。可以将快照发送开发者处进行bug反馈
支持插件,带来无限可能
显示虚拟机进程以及进程的配置、环境信息(jps, jinfo)
监视应用程序的处理器、垃圾收集,堆、方法区以及线程对信息(jstat,jstack)
dump以及分析堆转储快照(jmap, jhat)
方法级的程序运行性能分析,找出被调用最多,运行时间最长的方法。
离线程序快照:收集程序的运行时配置,线程dump,内存dump等信息建立一个快照。可以将快照发送开发者处进行bug反馈
支持插件,带来无限可能
0 条评论
下一页