jstack定位问题

 

以下内容是转载的,方便以后使用的时候查找:

http://testing.etao.com/node/615

http://go-on.iteye.com/blog/1673894

 

使用jstack定位java应用程序CPU占用高的方法

1    ps axu | grep java  得到进程号

2   top  -p   java进程号

3  在top界面按小写的s改变默认刷新值到0.5s

4 在 shift +h 键,按线程进行显示

5 到现在为止,基本可以看到是哪个线程占用CPU较高了

6 假如线程号为21646,转换为16进制  548e

7 jstack  java进程号 | grep -A  20  java线程号16进制

 

-Thread name: "Worker-15"

-线程优先级: prio=10

-java线程的identifier:tid=0x09b7b400

-native线程的identifier: nid=0x12f2

-线程的状态: in Object.wait()  java.lang.Thread.State: TIMED_WAITING (on object monitor)  

-线程栈起始地址:[0xb30f9000] 

 

 

你可能感兴趣的:(java)