Linux

1)通过top命令查看当前CPU情况

2)先获得JAVA进程PID为12023

3)top -H -p12023 (说明: -H 指显示线程,-p 是指定进程) 可以看到CPU占用较高的线程PID12024

4)再通过jstack命令获取当前线程栈,可暂时保存到一个文件tempfile.txt中;#jstack -l 12023 > tempfile.txt

5)通过转换成16进制 可以在tempfile.text 中查到对应的方法,然后进行处理就好了。

6)如果都是GC的进程,就要检查GC设置

windows

jstack部分是一样,主要是获取占用CPU高的线程。

可以用pslist -dmx 12023

或者

微软工具:Process Explorer