jinfo [-flags] pid 显示该进程的java设置,包括系统参数、虚拟机设置VM flags和启动参数Command line,加上-flags后只显示后两种
jmap -heap pid 显示使用了哪种垃圾收集器,heap有关的设置是什么,heap各个区域的使用量和使用率。图中显示新生代使用了并行垃圾回收,年老代使用了CMS
jmap -histo pid 进程中有哪些类,实例化对象各有几个,占用几个字节
jmap -histo:live pid 只显示存活对象
jmap -clstats pid 显示用到的类加载器
jps 显示java进程,-v 显示启动时的设置 -l 显示进程的入口类完整类名 -m 显示main方法的参数
jstack pid 显示所有线程的状态及栈
jstack -l pid 显示线程的锁状态 -F 强制打印,当程序没有反应的时候用这个。
jstat -class pid 加载类的数量、大小、卸载类的数量、大小、耗费在加载和卸载上的时间s
jstat -compiler pid 即时编译器的执行次数、失败次数、非法次数、花费时间、最后一次失败类型和失败类名
jstat -gc pid 显示内存各个区域的大小和使用量
jstat -gcnew pid 新生代的垃圾回收情况
jstat -gcold pid 年老代的垃圾回收情况
jstat -gcutil pid 各个区域已使用比例
符号 | 含义 | 符号 | 含义 |
---|---|---|---|
S0C | survivor0的大小 | S0U | survivor0的使用量 |
S1C | survivor1的大小 | S1U | survivor1的使用量 |
EC | eden的大小 | EU | eden的使用量 |
OC | 年老代的大小 | OU | 年老代的使用量 |
MC | 方法区的大小 | MU | 方法区的使用量 |
CCSC | 压缩类空间大小 | CCSU | 压缩类空间使用量 |
YGC | 新生代回收次数 | YGCT | 用于新生代回收的时间 |
FGC | 年老代回收次数 | FGCT | 用于年老代回收的时间 |
GCT | 垃圾回收总时间 FGCT+YGCT | DSS | 垃圾回收后survivor大小的上限,超过则将部分对象直接放入年老代 |
TT | 新生代对象存活次数 | MTT | 新生代对象最大存活次数 |
S0 | survivor0的使用率 | S1 | survivor1的使用率 |
E | eden使用率 | O | 年老代使用率 |
M | 方法区使用率 | CCS | 压缩类空间使用率 |