1.用 top 命令找出java应用pid 得到${java_pid}
2.找到耗时最高的线程tid:
//也可以
(top之后再按shift+H可以显示线程)查看CPU使用率高的线程
ps -mp ${java_pid} -o THREAD,tid,time | sort -rn
得到${java_thread_tid}
3.将需要的线程ID转换为16进制格式:
printf "%x\n" ${
java_thread_tid}
得到${java_thread_tid_hex}
4.将结果输出到文件:
(jstack ${java_pid} | grep ${java_thread_tid_hex} -A 30)>>/usr/local/java_thread.log