虚拟机相关的工具
命令行相关工具
jps |
显示所有的虚拟机进程 |
jstat |
收集虚拟机运行的各方面的数据 |
jinfo |
显示虚拟机的配置信息 |
jmap |
生成虚拟机运行快照heapdump文件 |
jhat |
用于分析heapdump文件,会生成一个http/html的服务,可以查看分析结果 |
jstack |
显示虚拟机线程快照 |
-q |
只输出lvmid,省略主要名称 |
-m |
输出进程启动时传递给main()函数的参数 |
-l |
输出主类全名,如果是jar包,输出路径 |
-v |
输出虚拟机进程启动的JVM参数 |
-class |
监视类装载,卸载数量,总空间以及类装载所用的时间 |
-gc |
监视java 堆状态包括青年代,老年代,永久代,已用空间和GC时间合计等信息 |
-gccapacity |
监视与gc一致,输出主要关注java堆各个区域的使用最大最小空间 |
-gcutil |
监视与gc一致 输出已用占总空间的百分比 |
-gccause |
在上一条的基础上添加了上一次产生GC的原因 |
-gcnew |
监视新生代gc的状态 |
-gcnewcapacity |
在上一个基础上重要关注使用最大,最小空间 |
-gcold |
监视老年代的GC状态 |
-gcoldcapacity |
在上一个基础上重要关注使用最大,最小空间 |
-gcpermcapacity |
监视永久代的最大,最小空间 |
-compiler |
输出jit编译器编译过的方法和时间等信息 |
-printcompilation |
输出被编译的方法 |
jinfo [option] pid
-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工具