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] 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值