本文转载自:JVM-GC调优,一文详解JDK监控和故障处理命令及常见故障分析
JVM 的定位系统问题时,知识和经验是关键基础,数据是依据、工具是运用知识处理数据的手段
数据包括:运行日志、异常堆栈、GC日志、线程快照(thread dump、javacore文件)、堆转储快照(headdump / hprof 文件)
一、调优命令
JDK监控和故障处理命令,在bin目录下有:jps、 jstat、jmap、jhat、jstack、jinfo
- jps:显示虚拟机进程,常用如:
jps -l -v
- jstat:收集虚拟机各方面的运行数据,常用如:
jps-gcutil 2764
、jstat -gc 2764 250 20
- jinfo:显示虚拟机配置信息
- jmap:生成虚拟机内存转储快照(headdump 文件),常用如:
jmap -dump:live,format=b,file=dump.hprof 28920
- jhat:用于分析headdump 文件,他会建立一个http/html 的服务器,让客户可以在浏览器上查看分析结果,常用如:
jhat dump.hprof
- jstack: 显示虚拟机线程快照,常用如:
jstack -l 11494
下面做一 一介绍
二、Jps
显示指定系统内所有的HotSpot虚拟机进程,
格式 :
jps - [hostid]
options 参数:
-q:只输出LVMID,省略主类的名称
-m:输出新建启动时传递给主类main()函数的参数
-l:输出主类的全名,如果进程执行的是Jar包,输出Jar路径
-v:输出虚拟机进程启动时JVM参数
其中[option]、[hostid]参数也可以不写
一般使用:
jps -l -m
三、Jstat
用于监视虚拟机运行时状态信息的命令,它可以显示出虚拟机进程中的类装载、内存、垃圾收集、JIT编译等运行数据。