虚拟机性能监控与故障处理工具

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的可视化监视管理工具

VisualVM(1.6 update1.7,多合一故障处理工具)