java进程cpu占用过高处理步骤

1)直接使用top命令,找到占用CPU、内存最高(较高)的java进程。
2)使用top -H -p pid,找到该进程占用cpu/内存的线程;
3)jstack pid > jstack.txt,将进程栈信息保存;
4)使用printf %x tid,将线程id转换为16进制字符串;
5)在jstack.txt中查找tid对应的16进制字符串,找到对应的线程栈信息;

如果发现GC线程占用CPU过高,则需要使用jmap获取内存状态
6)使用jmap -heap > jmap_heap.txt,获取内存总体情况;
7)使用jmap -histo > jmap_histo.txt,获取堆内存类对象直方图;

你可能感兴趣的:(java-web)