基础故障处理工具
jps:虚拟机进程状况工具
可以列出正在运行的虚拟机进程,并显示虚拟机执行主类(main()函数所在的类)名称以及这些进程的本地虚拟机唯一ID。
jps [ options ] [ hostid ]
jstat:虚拟机统计信息监视工具
用于监视虚拟机各种运行状态信息的命令行工具它可以显示本地或者远程虚拟机进程中的类加载、内存、垃圾收集、即时编译等运行时数据。是运行期定位虚拟机性能问题的常用工具。
jstat [ option vmid [interval[s|ms] [count]] ]
jinfo:Java配置信息工具
jinfo的作用是实时查看和调整虚拟机各项参数
jinfo [ option ] pid
jmap:Java内存映像工具
jmap命令用于生成堆转储快照(一般称为headdump或者dump文件),也可以使用 -XX:+HeapDumpOnOutOfMemoryError参数,让虚拟机在内存溢出异常出现之后自动生成堆转储快照文件。
jmap [ option ] vmid
jhat:虚拟机堆转储快照分析工具
jhat命令与jmap搭配使用,用来分析jmap生成的堆转储快照
jstack:Java堆栈跟踪工具
jstack命令用于生成虚拟机当前时刻的线程快照。。线程快照就是当前虚拟机内每一条线程正在执行的方法的堆栈的集合,生成线程快照的目的通常是定位线程出现长时间停顿的原因,如线程死锁、死循环、请求外部资源导致的长时间挂起等。线程出现停顿时通过jstack来查看各个线程的调用堆栈,就可以获知没有响应的线程到底在后天做些什么事情,或者在等待什么资源。
jstack [ option ] vmid
可视化故障处理工具
VisualVM:多合-故障处理工具
VisualVM在插件的配合下可以做到:
- 显示虚拟机进程以及进程的配置、环境信息(jps、jinfo)
- 监视应用程序的处理器、垃圾收集、堆、方法区以及线程的信息(jstat 、jstack)
- dump以及分析堆转储快照(jmap、jhat)
- 方法级的程序运行性能分析,找出被调用最多、运行时间最长的方法
- 离线程序快照:收集程序的运行时配置、线程dump、内存dump等信息建立一个快照。
jvisualvm