CPU占用
1、找出进程 pid
ps -aux|head -1;ps -aux |grep java |sort -rh -k 3 |head
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 6642 545 30.9 19770660 10192192 ? Sl 09:33 1353:50 /opt/jre/bin/java
>> 找到进程为 6642
top -c
2、找出线程 tid
ps -mp 6642 -o THREAD,tid,time,cpu |sort -rh -k 2 >> 6642.cpu
top -Hp 6642
3、通过高CPU的线程信息
jstack 6642 > thread_stack.log
> 10进制转16进制
printf "%x\n" 22276
5704
- 在已保存的thread_stack.log中搜索 5704
内存占用
> 参考文档
http://t.csdn.cn/sN8kh
1、找出线程
ps -aux |head -1;ps -aux |grep java |sort -rh -k 4 |head
已6321为例
根据内存情况进行排序
输入 M
2、生成dump文件
jmap -dump:live,format=b,file=6321.hprof 6321
3、分析dump文件
https://heaphero.io/
参考网站
http://t.csdn.cn/53Vus
> jhat 默认启动一个7000端口
jhat m.hprof
在浏览器中打开:IP:7000