jps
- 作用:查看pid进程相关信息
- no option:输出进程id及
- -l:输出完全的包名,应用主类名,jar的完全路径名
- -v:输出jvm参数
- -q:只显示进程ID,不显示类名和JAR文件。
- -m:显示传递给主类的参数。
- -V:输出通过flag文件传递到JVM中的参数(.hotspotrc文件或-XX:Flags=所指定的文件
jinfo
- 作用:查看Java System属性和JVM命令行参数,查配置使用(同样也会暂停线程)
- -flags [进程id]:打印所有启动参数
- -flag [变量名] [进程id]:打印指定启动参数
- -sysprops [pid]:打印环境变量(截图有缩减)
- no option 打印所有信息(flags+sysprops)
- -flag [+|-][变量名] [进程id]:打开或关闭指定参数
jstat
- 作用:对jvm实时监控,会阻塞线程
- jstat [option] [pid] [interval] [count]:格式统一,主要是option,下面会列出
- option
- class:显示类加载、卸载和合计数量的统计信息。
- compiler:显示JIT编译器的统计信息。
- gc:gc统计信息
- gcutil:显示垃圾回收的统计信息以及堆内存使用情况的摘要。
- gccapacity:显示堆内存容量和使用情况的统计信息。
- gccause:显示导致垃圾回收的原因。
- gcnew:显示新生代的垃圾回收统计信息。
- gcnewcapacity:显示新生代的容量和使用情况的统计信息。
- gcold:显示老年代的垃圾回收统计信息。
- gcoldcapacity:显示老年代的容量和使用情况的统计信息。
- gcpermcapacity:显示永久代(或元空间)的容量和使用情况的统计信息。
- gcmetacapacity:显示元数据区的容量和使用情况的统计信息。
- printcompilation:显示已经完成的JIT编译任务。
字段介绍
| 字段 | 说明 |
|---|---|
| S0C | Survivor 0区的容量 |
| S1C | Survivor 1区的容量 |
| S0U | Survivor 0区的使用量 |
| S1U | Survivor 1区的使用量 |
| EC | Eden区的容量 |
| EU | Eden区的使用量 |
| OC | Old区的容量 |
| OU | Old区的使用量 |
| PC | Permanent区的容量 |
| PU | Permanent区的使用量 |
| YGC | 年轻代垃圾回收次数 |
| YGCT | 年轻代垃圾回收总时间(秒) |
| FGC | Full GC次数 |
| FGCT | FullGC 总时间(秒) |
| GCT | 垃圾回收总时间(秒) |
| NGCMN | 年轻代最小容量 |
| NGCMX | 年轻代最大容量 |
| NGC | 年轻代当前容量 |
| OGCMN | 老年代最小容量 |
| OGCMX | 老年代最大容量 |
| OGC | 老年代当前容量 |
| MCMN | 元数据区最小容量 |
| MCMX | 元数据区最大容量 |
| MC | 元数据区当前容量 |
| CCSMN | 压缩类空间最小容量 |
| CCSMX | 压缩类空间最大容量 |
| CCSC | 压缩类空间当前容量 |
jstack
- 作用:查看线程快照
- jstack -l 64997:查看当前jvm线程快照,包含锁的信息
- jstack -m 64997:混合的栈帧信息
- jstack -F 64997:强制生成快照
jmap
- 作用:dump内存,会暂停线程
- dump:dump
- jmap -dump:format=b,file=dump.hprof 23471
- histo: 统计堆中的各个类的信息
- heap:展示堆中的使用情况