关于JVM你需要知道的——JDK自带的监控命令

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 压缩类空间使用率
posted @ 2017-03-26 19:01  破凡  阅读(157)  评论(0编辑  收藏  举报