欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

常用线程分析命令

程序员文章站 2024-03-18 10:04:16
...

常用三种命令

1、jps + jstack

2、jmc

3、jvisualvm

示例

先起一个线程

public class ThreadAnalysis {
    public static void main(String[] args) {
        for (int i = 0; i < 10; i++) {
            new Thread(() -> {
                try {
                    Thread.sleep(500000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }).start();
        }
    }
}

jps + jstack

# jps查看进程id
➜  ~ jps
13363 Jps
13053 ThreadAnalysi

# jstack 查看进程状态
➜  ~ jstack -l 13053
2020-09-10 23:31:04
Full thread dump Java HotSpot(TM) 64-Bit Server VM (25.144-b01 mixed mode):
......(省略)

jmc

1、使用jmc命令打开客户端;
常用线程分析命令

2、选择“MBean服务器”,然后选择“线程”选项卡,如上图,可以查看线程名称和状态;

jvisualvm

1、使用jvisualvm命令打开客户端;
常用线程分析命令

这种方式的缺点是检查不到线程运行状态。