zoukankan      html  css  js  c++  java
  • Jstack 查看线程状态及定位占用 cpu 较高的 java 线程

      

    本文为博主原创,未经允许不得转载:

      1. Jstack 用来查看 java 指定进程所包含的 java 线程状态:

        

              

       "arthas-NettyHttpTelnetBootstrap-3-3" 线程名

      prio=5 优先级=5
      tid=0x00007f6a60019000 线程id
      nid=0x1f4b 线程对应的本地线程标识nid
      java.lang.Thread.State: RUNNABLE 线程状态

     2.使用 Jstack 定位最消耗 cpu 的线程

      2.1 使用命令top -p <pid> ,显示你的java进程的内存情况,pid是java进程号,
          

      2.2 按H,获取每个线程的内存情况

      

      2.3 找到内存和cpu占用最高的线程tid :19113,并使用 printf  "%x " 转为16进制

     

      2.4 使用 jstack 查看该进程对应线程执行的堆栈信息 

     

       

      2.5 根据堆栈信息定位消耗 cpu 的原因 

     
     
     
     
  • 相关阅读:
    接口测试
    Excel
    day16 内置函数作业
    day16 内置函数和匿名函数
    day15 内置函数
    day14 生成器进阶
    day13迭代器
    day13生成器
    day11 作业
    day11 装饰器
  • 原文地址:https://www.cnblogs.com/zjdxr-up/p/14939474.html
Copyright © 2011-2022 走看看