虚拟机性能监控与故障处理工具
jdk自带的工具
jps:虚拟机进程状况工具
- 可以列出正在运行的虚拟机进程,并显示虚拟机执行主类名称以及这些进程的本地虚拟机唯一ID.(使用频率最高),因为其他的JDK工具大多需要输入它查询到的LVMID来确认要监控的是哪一个虚拟机进程
- 命令格式
jps[options][hostid]
jstat:虚拟机统计信息监视工具
- 用于监视虚拟机各种运行状态信息的命令行工具
- 可以显示本地或者远程虚拟机进程中的类装载,内存,垃圾收集,JIT编译等运行数据
- 命令格式:jstat [option vmid [ interval[s|ms][count]]]
- 实例:每250毫秒查询一次进程2764垃圾收集状况,一共查询20次: jstat -gc 2764 250 20
jinfo:java 配置信息工具
- 实时的查看和调整虚拟机各项参数。
- 使用jps命令的-v参数可以查看虚拟机启动时显示指定的参数列表
- 使用jinfo的-flag选项就进行查询参数的系统默认值。
- 命令格式:jinfo[option ] pid
-实例:查询XX的参数值: jinfo -flag XX 1444
jmap:java内存映像工具
- 用于生成堆转储快照(一般称为heapdump 或dump文件)
- 命令格式:jmap [option] vmid
- option 选项的合法值与具体含义
jstack:java堆栈跟踪工具
- 用于生成虚拟机当前时刻的线程快照(一般称为threaddump或者javacore文件)。线程快照就是当前虚拟机内每一条线程正在执行的方法堆栈的集合。生成线程快照的主要目的是定位线程出现长时间停顿的常见问题,线程出现停顿的时候通过jstack来查看各个线程的调用堆栈,就可以知道没有响应的线程到底在后台做些什么事情
- 命令格式: jstack [option] vmid
- jstack工具主要选项
- 在JDK1.5中。java.lang.Thread类新增了一个getAllStackTraces()方法用于获取虚拟机中所有线程的StackTaceElement对象。
JDK可视化工具
JConsole(1.5就提供的虚拟机监控工具)
是一种基于JMX的可视化监视管理工具