打印所有java pid
jpsJmap
用于打印所有被使用的类的数量以及大小
jmap -histo [PID]
num:序号instances:实例数量bytes:占用空间大小class name:类名称, C代表 char[],S代表short[],I代表int[],B代表byte[],I代表 int[][]
打印堆信息
jmap -heap [PID]
导出堆内存dump文件
jmap ‐dump:format=b,file=xxxx.hprof [PID]
可采用jvisualvm命令工具(检测死锁)分析,在jdk中的bin文件夹下。
Jstack
打印服务线程信息
Jstack [PID]
“Thread-1” 线程名prio=5 优先级=5tid=0x000000001ea8r000 线程idnid=0x4e63 线程对应的本地线程标识nidjava.lang.Thread.State: BLOCKED 线程状态
可用于查找阻塞线程,死锁线程
查询CPU最高线程
- 使用命令top -p
查看JVM的扩展参数
jinfo -flags [PID]
查看JVM系统参数
jinfo -sysprops [PID]Jstat
垃圾回收统计
jstat -gc [PID]
| 字母 | 解释(单位KB) |
|---|---|
| S0C | 第一个幸存区的大小 |
| S1C | 第二个幸存区的大小 |
| S0U | 第一个幸存区的使用大小 |
| S1U | 第二个幸存区的使用大小 |
| EC | 伊甸园区的大小 |
| EU | 伊甸园区的使用大小 |
| OC | 老年代大小 |
| OU | 老年代使用大小 |
| MC | 方法区大小(元空间) |
| MU | 方法区使用大小 |
| CCSC | 压缩类空间大小 |
| CCSU | 压缩类空间使用大小 |
| YGC | 年轻代垃圾回收次数 |
| YGCT | 年轻代垃圾回收消耗时间,单位s |
| FGC | 老年代垃圾回收次数 |
| FGCT | 老年代垃圾回收消耗时间,单位s |
| GCT | 垃圾回收消耗总时间,单位s |
堆内存统计
jstat -gccapacity [PID]
| 字母 | 解释(单位KB) |
|---|---|
| NGCMN | 新生代最小容量 |
| NGCMX | 新生代最大容量 |
| NGC | 当前新生代容量 |
| S0C | 第一个幸存区大小 |
| S1C | 第二个幸存区的大小 |
| EC | 伊甸园区的大小 |
| OGCMN | 老年代最小容量 |
| OGCMX | 老年代最大容量 |
| OGC | 当前老年代大小 |
| OC | 当前老年代大小 |
| MCMN | 最小元数据容量 |
| MCMX | 最大元数据容量 |
| MC | 当前元数据空间大小 |
| CCSMN | 最小压缩类空间大小 |
| CCSMX | 最大压缩类空间大小 |
| CCSC | 当前压缩类空间大小 |
| YGC | 年轻代gc次数 |
| FGC | 老年代GC次数 |
新生代垃圾回收统计
jstat -gcnew [PID]
| 字母 | 解释(单位KB) |
|---|---|
| S0C | 第一个幸存区的大小 |
| S1C | 第二个幸存区的大小 |
| S0U | 第一个幸存区的使用大小 |
| S1U | 第二个幸存区的使用大小 |
| TT | 对象在新生代存活的次数 |
| MTT | 对象在新生代存活的最大次数 |
| DSS | 期望的幸存区大小 |
| EC | 伊甸园区的大小 |
| EU | 伊甸园区的使用大小 |
| YGC | 年轻代垃圾回收次数 |
| YGCT | 年轻代垃圾回收消耗时间 |
新生代内存统计
jstat -gcnewcapacity [PID]
| 字母 | 解释(单位KB) |
|---|---|
| NGCMN | 新生代最小容量 |
| NGCMX | 新生代最大容量 |
| NGC | 当前新生代容量 |
| S0CMX | 最大幸存1区大小 |
| S0C | 当前幸存1区大小 |
| S1CMX | 最大幸存2区大小 |
| S1C | 当前幸存2区大小 |
| ECMX | 最大伊甸园区大小 |
| EC | 当前伊甸园区大小 |
| YGC | 年轻代垃圾回收次数 |
| FGC | 老年代回收次数 |
老年代垃圾回收统计
jstat -gcold [PID]
| 字母 | 解释(单位KB) |
|---|---|
| MC | 方法区大小 |
| MU | 方法区使用大小 |
| CCSC | 压缩类空间大小 |
| CCSU | 压缩类空间使用大小 |
| OC | 老年代大小 |
| OU | 老年代使用大小 |
| YGC | 年轻代垃圾回收次数 |
| FGC | 老年代垃圾回收次数 |
| FGCT | 老年代垃圾回收消耗时间 |
| GCT | 垃圾回收消耗总时间 |
老年代内存统计
jstat -gcldcapacity [PID]
| 字母 | 解释(单位KB) |
|---|---|
| OGCMN | 老年代最小容量 |
| OGCMX | 老年代最大容量 |
| OGC | 当前老年代大小 |
| OC | 老年代大小 |
| YGC | 年轻代垃圾回收次数 |
| FGC | 老年代垃圾回收次数 |
| FGCT | 老年代垃圾回收消耗时间 |
| GCT | 垃圾回收消耗总时间 |
元数据空间统计
jstat -gcelacapacity [PID]
| 字母 | 解释(单位KB) |
|---|---|
| MCMN | 最小元数据容量 |
| MCMX | 最大元数据容量 |
| MC | 当前元数据空间大小 |
| CCSMN | 最小压缩类空间大小 |
| CCSMX | 最大压缩类空间大小 |
| CCSC | 当前压缩类空间大小 |
| YGC | 年轻代垃圾回收次数 |
| FGC | 老年代垃圾回收次数 |
| FGCT | 老年代垃圾回收消耗时间 |
| GCT | 垃圾回收消耗总时间 |
各区域使用比例以及GC次数
jstat -gcutil [PID]
| 字母 | 解释(单位KB) |
|---|---|
| S0 | 幸存1区当前使用比例 |
| S1 | 幸存2区当前使用比例 |
| E | 伊甸园区使用比例 |
| O | 老年代使用比例 |
| M | 元数据区使用比例 |
| CCS | 压缩使用比例 |
| YGC | 年轻代垃圾回收次数 |
| FGC | 老年代垃圾回收次数 |
| FGCT | 老年代垃圾回收消耗时间 |
| GCT | 垃圾回收消耗总时间 |



