文章目录
Sun JDK监控和故障处理工具:
| 名称 | 主要作用 |
|---|---|
| jps | JVM Process Status Tool,显示指定系统内所有HotSpot虚拟机进程 |
| jstat | JVM Statistics Monitoring Tool,用于收集HotSpot虚拟机各方面的运行数据 |
| jinfo | Configuration Info for Java,显示虚拟机配置信息 |
| jmap | Memory Map for Java,生成虚拟机的内存转出快照(heapdump)文件 |
| jhat | JVM Heap Dump Browser,用于分析heapdump文件,它会建立一个HTTP/HTML服务器,让用户在浏览器上查看分析结果 |
| jstack | Stack Trace for Java,显示虚拟机的线程快照 |
jps:虚拟机线程状况工具

jstat:虚拟机统计信息监视工具

🌰 查看线程51710线程垃圾收集情况:
1 | ➜ ~ jstat -gc 51710 250 5 |
| 列 | 说明 | jstat参数 |
|---|---|---|
| S0C | 输出Survivor0空间的大小,单位KB | -gc -gccapacity -gcnew -gcnewcapacity |
| S1C | 输出Survivor1空间的大小。单位KB | -gc -gccapacity -gcnew -gcnewcapacity |
| S0U | 输出Survivor0已用空间的大小。单位KB | -gc -gcnew |
| S1U | 输出Survivor1已用空间的大小。单位KB | -gc -gcnew |
| EC | 输出Eden空间的大小。单位KB。 | -gc -gccapacity -gcnew -gcnewcapacity |
| EU | 输出Eden已用空间的大小。单位KB | -gc -gcnew |
| OC | 输出老年代空间的大小。单位KB | -gc -gccapacity -gcold -gcoldcapacity |
| OU | 输出老年代已用空间的大小。单位KB | -gc -gcold |
| PC | 输出持久代空间的大小。单位KB | -gc -gccapacity -gcold -gcoldcapacity -gcpermcapacity |
| PU | 输出持久代已用空间的大小。单位KB | -gc -gcold |
| YGC | 新生代空间GC时间发生的次数 | -gc -gccapacity -gcnew -gcnewcapacity -gcold -gcoldcapacity -gcpermcapacity -gcutil -gccause |
| YGCT | 新生代GC处理花费的时间。 | -gc -gcnew -gcutil -gccause |
| FGC | full GC发生的次数。 | -gc -gccapacity -gcnew -gcnewcapacity -gcold -gcoldcapacity -gcpermcapacity -gcutil -gccause |
| FGCT | full GC操作花费的时间 | -gc -gcold -gcoldcapacity -gcpermcapacity -gcutil -gccause |
| GCT | GC操作花费的总时间。 | -gc -gcold -gcoldcapacity -gcpermcapacity -gcutil -gccause |
| NGCMN | 新生代最小空间容量,单位KB | -gccapacity -gcnewcapacity |
| NGCMX | 新生代最大空间容量,单位KB | -gccapacity -gcnewcapacity |
| NGC | 新生代当前空间容量,单位KB | -gccapacity -gcnewcapacity |
| OGCMN | 老年代最小空间容量,单位KB | -gccapacity -gcoldcapacity |
| OGCMX | 老年代最大空间容量,单位KB | -gccapacity -gcoldcapacity |
| OGC | 老年代当前空间容量制,单位KB | -gccapacity -gcoldcapacity |
| PGCMN | 持久代最小空间容量,单位KB | -gccapacity -gcpermcapacity |
| PGCMX | 持久代最大空间容量,单位KB | -gccapacity -gcpermcapacity |
| PGC | 持久代当前空间容量,单位KB | -gccapacity -gcpermcapacity |
| PC | 持久代当前空间大小,单位KB | -gccapacity -gcpermcapacity |
| PU | 持久代当前已用空间大小,单位KB | -gc -gcold |
| LGCC | 最后一次GC发生的原因 | -gccause |
| GCC | 当前GC发生的原因 | -gccause |
| TT | 老年化阈值。被移动到老年代之前,在新生代空存活的次数。 | -gcnew |
| MTT | 最大老年化阈值。被移动到老年代之前,在新生代空存活的次数。 | -gcnew |
| DSS | 幸存者区所需空间大小,单位KB | -gcnew |
jinfo:Java配置信息工具

1 | ➜ ~ jinfo -flag CICompilerCount 51710 |
jmap:Java内存映像工具

1 | ➜ ~ jmap -dump:format=b,file=idea.bin 51710 |
jhat:虚拟机堆转储快照分析工具

1 | ➜ ~ jhat idea.bin |
分析结果默认是以包为单位进行分组显示,分析内存漏洞问题主要会用到其中的『Heap Histogram』(与jmap -histo功能一样)与OQL页签的功能。
jstack:Java堆栈跟踪工具

1 | ➜ |
