常用线程分析命令
程序员文章站
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命令打开客户端;
这种方式的缺点是检查不到线程运行状态。