Windows
1)下载process explorer
2)通过jps -vm找到java进程
3)在process explorer上查看相关cpu占用率,双击进程,弹出各个线程的占有率。
4)找出占有率有问题的线程号,转换成16进制,可以通过计算器计算。
5)jstack -l <java进程号>
6)找出有问题的线程信息。
Linux
1)top 和 jps找出哪个java进程占cpu过高;
2)用top找出哪个线程占着cpu:
top -H -p 8969
或者
ps -mp 8969 -o THREAD,tid,time | sort -rn | more
3)jstack -F 8969