JVM之性能监控与故障处理

  给一个系统定位问题的时候,知识,经验是关键基础,数据是一依据,工具是运用知识处理数据的手段。数据包括:运行日志,异常堆栈,gc日志threaddump/javacore,heapdump等。jdk自带一些监控工具。

1. jps 虚拟机进程状态工具。功能类似ps,可以列出正在运行的虚拟机进程,并显示虚拟机执行主类函授所在的名称,以及这些进程的本地虚拟机的唯一id LVMID。

jps [ options ]  [ hostid ]

JVM之性能监控与故障处理_第1张图片
图片发自App


2. jstat 虚拟机统计信息监视工具。可以显示本地或远程虚拟机进程中的类装载,内存,垃圾收集,JIT编译等运行数据。

jstat [ option vmid [intervals[s|ms]  [count] ] ]

JVM之性能监控与故障处理_第2张图片
图片发自App

3. jinfo java配置信息工具。实时查看和调整虚拟机的各项参数。

jinfo [ option ]  pid

4. jmap java内存映像工具。生成堆存储快照heapdump或dump文件。  

5. jhat 虚拟机堆存储快照分析工具。与jmap搭配使用,分析jmap生成的堆存储快照。

6. **jstack java堆栈跟踪工具**。 用于生成虚拟机当前时刻的线程快照。线程快照就是当前虚拟机每一条线程正在执行的方法堆栈的集合。定位线程出现长时间的停顿的原因,如线程间死锁,死循环,请求外部资源等待等。

   通过jstack查看各个线程的调用堆栈,可以知道没有响应的线程到底在后台做什么事情,或者等待什么资源。

    jstack [ F | l | m ] vmid

可视化工具

  1. jconsole  java监控与管理控制台

   2. VisualVM  多合一故障处理工具

你可能感兴趣的:(JVM之性能监控与故障处理)