JVM 统计监测命令
参考
深入理解JVM(七)——性能监控工具
JVM性能调优监控工具专题一
1. 进入 jdk 目录
cd /usr/local/jdk/bin
2. 查询所有 java进程信息
jps (推荐)
jps -v
3.查询 java进程的启动时配置信息
jinfo 进程Id
4.统计当前进程gc信息
jstat -gcutil 进程Id 毫秒数
如: jstat -gcutil 15320 1000 每1秒(1000毫秒)打印一次java进程Id为15320的 GC信息
列字段信息如下
S0 — Heap上的 Survivor space 0 区已使用空间的百分比
S1 — Heap上的 Survivor space 1 区已使用空间的百分比
E — Heap上的 Eden space(新生代) 区已使用空间的百分比
O — Heap上的 Old space(老年代) 区已使用空间的百分比
P — Perm space(永久代) 区已使用空间的百分比
CCS — 压缩使用比例
YGC — 从应用程序启动到采样时发生 Young GC 的次数 (年轻代垃圾回收次数)
YGCT– 从应用程序启动到采样时 Young GC 所用的时间(单位秒) (年轻代垃圾回收消耗时间)
FGC — 从应用程序启动到采样时发生 Full GC 的次数 (老年代垃圾回收次数)
FGCT– 从应用程序启动到采样时 Full GC 所用的时间(单位秒) (老年代垃圾回收消耗时间)
GCT — 从应用程序启动到采样时用于垃圾回收的总时间(单位秒)
5. 输出当前线程堆栈信息文件
jstack -F 进程Id >> 文件名.jstack
6.输出每个Class的实例数,内存占用等
jmap -histo:live 进程Id >> 文件名
7.输出 进程堆栈 dump信息,可用MAT分析
jmap -dump:live,format=b,file=文件名 进程Id
(执行命令前 先ulimit -c unlimited 将core文件设置为无限大,否则会报错,Java进程会退出)