虚拟机性能监控与故障处理工具
jps:虚拟机进程状况工具
可以列出正在运行虚拟机的名称,并显示虚拟机执行主类,,以及这些进程本地虚拟机的唯一ID,对于本地虚拟机来说,LVMID与操作系统进程ID一致。
jps命令格式:
jps [options] [hostid]
执行样例:
jps工具主要选项:
选项 | 作用 |
---|---|
-q | 只输出LVMID,省略主类名称 |
-m | 输出虚拟机进程启动时候传递给朱磊main()函数参数 |
-l | 输出主类全名,如果进程是jar则输出jar路劲 |
-v | 输出虚拟机进程启动时候JVM参数 |
jstat:虚拟机统计信息监视工具
可以显示本地或者远程虚拟机进程中的类装载、内存、垃圾收集、JIT编译等运行数据,运行期定位虚拟机性能问题首选工具。
jstat命令格式:
jstat [option vmid [interval[s|ms] [count]]]
执行样例:
假设没250ms查询一次进程19252垃圾收集的状况,一共查询20次。
命令:jstat -gc 19252 250 20
主要选项:
jinfo:Java配置信息工具
实时查看和调整虚拟机的各项参数
命令格式:
jinfo [option] pid
执行样例:
➜ /Users/zhang >jinfo -flag InitialHeapSize 15492
-XX:InitialHeapSize=41943040
jmap:Java内存映像工具
jmap用于生成堆转储快照,还可以查询finalize执行队列,java堆和永久代的详细信息,如空间使用率,当前使用的是那种收集器等等。
jmap命令格式:
jmap [option ] vmid
jstack:Java堆栈跟踪工具
用于生成虚拟机当前时刻的线程快照。线程快照就是当前虚拟机每一条线程正在执行的方法堆栈的集合,生成线程快照的主要目的是定位线程出现长时间停顿的原因,例如死锁,死循环,请求外部资源的长时间等待等等。。。
jstack命令格式:
jstack [option] vmid
执行样例:
jstack -l 17013
JDK的可视化工具
- JConsole
- VisualVM