java cpu负载过高的查询方法

 

现象

1.top
2.jconsole:以jconsole -pluginpath $JAVA_HOME/demo/management/JTop/JTop.jar启动
CPU情况:

CPU、堆、线程、内存情况(两次压测):

过程

1.jps -lv找到java进程的pid
2.以http_load -p 8 -s 100 http_load_command.txt命令进行压力测试
3.top -H(或启动后Shift+h),切到以线程方式显示top,找到最上面的线程id号

4.jstack pid > /tmp/a,将堆栈导出
5.将线程id号转成十六进制:echo 'obase=16;要转换的十进制数' | bc  
6.cat /tmp/a | grep -A 20 -B 10 "十六进制数",查看堆栈即可看到当前正在执行的方法栈

工具

  • 查询jvm中cpu使用最高线程的堆栈的流程图

 

你可能感兴趣的:(Java相关)