JVM常用命令整理

JVM常用命令整理

看对象数量
jmap -histo 【pid】>jmaphisto.log
jmap -F -histo 【pid】>jmaphisto.log    服务已死加 -F
jmap -histo:live 【pid】>jmaphisto.log    只看存活(会触发fullgc再导出)

看内存Dump
jmap -dump:format=b,file=jmapdump.hprof 【pid】
jmap -F -dump:format=b,file=jmapdump.hprof 【pid】
tar zcvf jmapdump.hprof.tar.gz jmapdump.hprof

看GC情况
jstat -gccapacity
jstat -gcutil 【pid】 1000 100   每1000毫秒看内存情况,持续100次

指标解释:
S0 — Heap上的 Survivor space 0 区已使用空间的百分比
S1 — Heap上的 Survivor space 1 区已使用空间的百分比
E — Heap上的 Eden space 区已使用空间的百分比
O — Heap上的 Old space 区已使用空间的百分比
P — Perm space 区已使用空间的百分比
YGC — 从应用程序启动到采样时发生 Young GC 的次数
YGCT– 从应用程序启动到采样时 Young GC 所用的时间(单位秒)
FGC — 从应用程序启动到采样时发生 Full GC 的次数
FGCT– 从应用程序启动到采样时 Full GC 所用的时间(单位秒)
GCT — 从应用程序启动到采样时用于垃圾回收的总时间(单位秒)

看线程堆栈
jstack 【pid】 >jstack.log
jstack -F 【pid】 >jstack.log   服务已死加 -F
jstack -F -m 【pid】 >jstack.log
jstack -F -m -l 【pid】 >jstack.log

看线程的资源情况
pstree 【pid】  打印进程的线程使用情况

top  看资源使用情况
top -Hp 【pid】      看进程内线程资源情况
转为16进制配合jstack可查询线程cpu情况

猜你喜欢

转载自guaaug.iteye.com/blog/2345028