zoukankan      html  css  js  c++  java
  • java 查看tomcat线程信息

    查看线程信息

    标签: 线程 堆栈 信息 日志 tomcat 响应

    tomcat有时候会遇到所有操作都响应很慢,或者一直没有响应的情况。如果这个时候通过日志无法看到错误信息。可能就不好分析问题出处。

    这种情况可以看一下tomcat的线程信息,看看都是在进行什么操作。

    参考网址https://www.cnblogs.com/shengulong/p/8513652.html

    jstack 线程ID 可以查看某个线程的堆栈情况,特别对于hung挂死的线程,可以使用选项-F强制打印dump信息jstack -F pid

      jstack定义: jstack是java虚拟机自带的一种堆栈跟踪工具。用于生成java虚拟机当前时刻的线程快照。线程快照是当前java虚拟机内每一条线程正在执行的方法堆栈的集合,生成线程快照的主要目的是定位线程出现长时间停顿的原因,如线程间死锁、死循环、请求外部资源导致的长时间等待等。

      PS : 在实际运行中,往往一次 dump的信息,还不足以确认问题。建议产生三次 dump信息,如果每次 dump都指向同一个问题,我们才确定问题的典型性。也就是多进行几次线程快照,观察变化,查看问题所在。

    参考命令 jstack pid >run.log   然后把run.log文件用附件“查看线程日志”工具打开。

    主要观察几种状态

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

    然后查看每种状态定位到哪段代码信息。

    查看Deadlock

    查看Deadlock

    查看monitors

    查看monitors

    找到Threads最对的代码

    找到Threads最对的代码


    日志文件中搜索一共出现多少次

    日志文件中搜索一共出现多少次
     
  • 相关阅读:
    hbase源码分析.客户端.预备知识.ExecutorService
    Dijkstra for MapReduce (1)
    [leetcode]Palindrome.Partitioning
    CSS3兼容性写法
    C#延时
    python学习日记180823
    2012年11月11日 本周随笔
    2012年11月20日 上周回顾 && 疯狂的程序员书摘
    2012年11月27日 上周回顾
    hadoop loadBalance源码分析
  • 原文地址:https://www.cnblogs.com/shuaishuai1993/p/9205411.html
Copyright © 2011-2022 走看看