zoukankan      html  css  js  c++  java
  • 【java】jstack分析查看线程状态

    演示代码

    public class StackTest {
    
        public static void main(String[] args) {
            Thread thread = new Thread(new Worker());
            thread.start();
        }
    
        static class Worker implements Runnable {
            @Override
            public void run() {
                while (true) {
                   /* try {
                        Thread.sleep(2000);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }*/
                    System.out.println("Thread Name:" + Thread.currentThread().getName());
                }
            }
        }
    }
    [root@localhost opt]# java -jar jstack-demo.jar

    top命令查看CPU使用情况,默认按照CPU使用率从高到低排序,如果没排,请使用M指令进行排序。

     查看到消耗CPU第一的进程ID是2047,查看当前进程下的线程信息,

    [root@localhost ~]# top -Hp 2047

     将这个线程ID,十进制转为16进制,

    [root@localhost ~]# printf  "%x" 2059

     jstack 命令查看具体的异常位置,便于我们优化代码

    [root@localhost ~]# jstack -l 2047

  • 相关阅读:
    codeforces 671C
    zoj3256
    hit2739
    hdu5737
    2017.1其他简要题解
    hdu5967
    初探插头dp
    11月下旬题解
    CompletableFuture的get和getNow()的区别
    python 镜像
  • 原文地址:https://www.cnblogs.com/gyjx2016/p/11168273.html
Copyright © 2011-2022 走看看