分享

java之jstack

 流曲频阳 2016-09-22


jstack

1.通过堆栈信息看,线程状态为RUNNABLE,不是BLOCKED状态,说明不是因为锁导致线程阻塞,而是阻塞在了网络读取上

2.网络连接时,必须设置超时,不能无限制等待。发散一下,开发系统时,必须考虑各种异常情况


在thread dump中,要留意下面几种状态

死锁,Deadlock(重点关注) 

等待资源,Waiting on condition(重点关注)

  等待获取监视器,Waiting on monitor entry(重点关注)

阻塞,Blocked(重点关注)

  执行中,Runnable

  暂停,Suspended

  对象等待中,Object.wait() 或 TIMED_WAITING

  停止,Parked


总结了一下jstack(查看线程)、jmap(查看内存)和jstat(性能分析)命令


linux使用jstack来找出死循环的java代码


jstack和线程dump分析


linux 下jstack分析cpu占用100%跟踪方法


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多