您的位置:首页 > 编程语言 > Java开发

使用jstack和TDA进行java线程dump分析

2016-07-18 17:01 691 查看

1、jstack重点关注

 命令行:jstack
[-l][F] pid ,可以进行的dump文件导出 

dump 文件里,值得关注的线程状态有:

     死锁,Deadlock(重点关注)
     执行中,Runnable  
     等待资源,Waiting
on condition(重点关注)
     等待获取监视器,Waiting
on monitor entry(重点关注)
     暂停,Suspended
     对象等待中,Object.wait() 或 TIMED_WAITING
     阻塞,Blocked(重点关注) 
     停止,Parked

2、工具

2.1 本地分析工具

下载地址: https://java.net/projects/tda/downloads



说明:

1、区域1:线程和monitor区域,显示总的线程,休眠线程和monitor。点log文件可以显示原始的log文件。

2、区域2:选择区域1中的对象,显示对象相关状态

3、区域3:选择区域2后,下面显示对应的状态

4、区域4:选择菜单的filter,可以增加过滤器来对对应的线程进行查看



说明:选择monitors后,选择对应的对象,可以显示对应的概要说明。点单个对象,可以看到被那个对象locked

TDA还有一个功能还可以嵌入到jconsole中,自己没有试验。

2.2在线分析工具

地址见: http://spotify.github.io/threaddump-analyzer/

3、参考文档

http://www.cnblogs.com/nexiyi/p/java_thread_jstack.html   总结的不错的一篇文章,分析方法不错。

  http://blog.sina.com.cn/s/blog_855eab95010157uv.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: