找到java线程的pid
ps -ef | grep java
打印jstack输出信息到文件
jstack pid > ./dump
统计
[root@server ~]# grep java.lang.Thread.State dump | awk '{print $2$3$4$5}' | sort | uniq -c
41 RUNNABLE
1 TIMED_WAITING(onobjectmonitor)
18 TIMED_WAITING(parking)
3 TIMED_WAITING(sleeping)
2 WAITING(onobjectmonitor)
45 WAITING(parking)
可以看到每种状态的线程数量,再根据具体情况,打开jstack信息文件,找到能够调优的线程状态(如WAITING(onobjectmonitor))进行优化。
本文介绍如何使用ps、jstack等命令找到Java进程的PID,并将jstack输出信息保存到文件中。通过grep、awk、sort和uniq等工具统计不同线程状态的数量,帮助开发者理解线程运行状况并进行优化。
552

被折叠的 条评论
为什么被折叠?



