虚拟机分析相关工具
虚拟机相关的工具
命令行相关工具
| 名称 | 作用 |
|---|---|
| jps | 显示所有的虚拟机进程 |
| jstat | 收集虚拟机运行的各方面的数据 |
| jinfo | 显示虚拟机的配置信息 |
| jmap | 生成虚拟机运行快照heapdump文件 |
| jhat | 用于分析heapdump文件,会生成一个http/html的服务,可以查看分析结果 |
| jstack | 显示虚拟机线程快照 |
- jps
| 选项 | 作用 |
|---|---|
| -q | 只输出lvmid,省略主要名称 |
| -m | 输出进程启动时传递给main()函数的参数 |
| -l | 输出主类全名,如果是jar包,输出路径 |
| -v | 输出虚拟机进程启动的JVM参数 |
- jstat
| 选项 | 作用 |
|---|---|
| -class | 监视类装载,卸载数量,总空间以及类装载所用的时间 |
| -gc | 监视java 堆状态包括青年代,老年代,永久代,已用空间和GC时间合计等信息 |
| -gccapacity | 监视与gc一致,输出主要关注java堆各个区域的使用最大最小空间 |
| -gcutil | 监视与gc一致 输出已用占总空间的百分比 |
| -gccause | 在上一条的基础上添加了上一次产生GC的原因 |
| -gcnew | 监视新生代gc的状态 |
| -gcnewcapacity | 在上一个基础上重要关注使用最大,最小空间 |
| -gcold | 监视老年代的GC状态 |
| -gcoldcapacity | 在上一个基础上重要关注使用最大,最小空间 |
| -gcpermcapacity | 监视永久代的最大,最小空间 |
| -compiler | 输出jit编译器编译过的方法和时间等信息 |
| -printcompilation | 输出被编译的方法 |
- jinfo
| 选项 | 作用 |
|---|---|
| -flag | 修改运行的虚拟机参数 |
jinfo [option] pid
- jmap
| 选项 | 作用 |
|---|---|
| -dump | 生成java堆转储快照 |
| -finalizerinfo | 显示在F—Queue等着Finalizer线程执行的对象 |
| -heap | 显示java堆详细信息 windows下无效 |
| -histo | 显示堆中的统计信息 |
| -permstat | 以ClassLoader为统计口径显示永久代的内存状态,只在linux/Solaris平台下有效 |
| -F | 当虚拟机进程对-dump选项没有响应时可以使用这个选项强制生成快照 只在linux/Solaris平台下有效 |
-jstack
选项|作用
-|:-
-F|当正常输出不响应时可以强制执行
-l|除堆栈外,显示关于锁的附加信息
-m|如果调用本地方法可以显示c/C++的堆栈
---
可视化分析工具
- jconsole.exe工具
- visualvm.exe工具
更多精彩

