CPU占用过高/内存占用过高分析

CPU占用过高

1、top命令找出占cpu过高的进程pid,如9876

2、查看该进程下占用最高的进程【top -Hp 9876】

3、假设2中的线程的tid为6900,将其转换为二进制:【printf  ‘%x\n’ 6900】 得到 1af4

4、用jstackd打印出java线程堆栈信息【jstack pid | grep tid(十六进制小写)  -A50 --color】

【jstack 9876 | grep '0X1af4'  -A50 --color】

内存占用过高

1、查找进程id【top -d 2 -C】

2、查看JVM堆内存分配情况 【jmap -heap pid】

3、查看占用内存较多的对象 【jmap -histo pid | head -n 100】

4、查看占用内存较多的存活对象【jmap -histo:live pid | head -n 100】

你可能感兴趣的:(JVM,Linux,linux,运维,服务器,jvm,CPU占用过高,内存占用过高)