- 先用top定位最耗cpu的java进程 例如: 12430
工具:top或者 htop(高级)
方法:top -c 显示进程运行详细列表
键入 P (大写P),按照cpu进行排序 - 然后用top -p 12430 -H 定位到最耗cpu的线程 的ID 例如:12483
工具:top
方法:top -Hp 1865 ,显示一个进程的线程运行信息列表
键入P (大写p),线程按照CPU使用率排序 - 把第二步定位的线程ID,转成16进制,printf “%x
” 12483 得到 :30c3
工具:printf
方法:printf “%x ” 2747 - 从jstack 输出的线程快照中找到线程的对堆栈信息 jstack 12430 |grep 30c3 -A 60 |less
工具:pstack/jstack/grep
方法:jstack 10765 | grep ‘0x2a34’ -C5 --color`