-
查看系统日志,是否有exception 发生
top 命令查看当前系统状态
image.png
如果某个进程占大量cpu或内存MEM,获取对应的进程号(pid)或者通过jps获得对应应用的进程号,例如: pid = 18541,再通过进程号拿到进程对应的线程情况
ps -mp 18541 -o THREAD,tid,time
或者
top -Hp 18541
比如拿到可疑的线程号 18616,将其转换为16进制
printf "%x\n" 18616
48b8
然后使用jstack 查看对应的线程信息
jstack 18541 | grep 48b8
- 查看系统gc情况
jstat -gcutil 11977 3000
查看进程号为11977的应用gc情况,隔3秒打印
image.png
s0,s1为年轻代的两个survivor 空间占比
e 为年轻代的Eden空间占比
o 为old 老年代空间占比
m 为metaspace空间
ccs ??
YGC 年轻化gc次数
YGCT 年轻代gc耗时
FGC Full GC 次数
FGCT FullGC 耗时
GCT 总的GC耗时
如果FullGC频繁,可以用jmap dump系统内存快照
jmap -dump:format=b,file=heapdump 11977
或者
jmap -histo 11977 > jmap.log
dump 下来的信息可以用jhat 或者 jvisualvm 或者mat上查看
网友评论