码迷,mamicode.com
首页 > 编程语言 > 详细

Java 命令 jps 与 jstack 快速定位线程状态

时间:2020-05-01 23:58:48      阅读:148      评论:0      收藏:0      [点我收藏+]

标签:block   堆栈   ble   img   run   使用   lock   des   file   

在项目中,当程序处于长时间停顿的时候,可以使用java提供的jstack命令跟踪正在执行方法的堆栈情况,jstack能够生成虚拟机当前时刻的线程堆栈情况。主要,监控线程的状态,判断出线程停顿的原因。例如,死锁,死循环,多个线程等待等等。线程的状态包括NEW,RUNNABLE,BLOCKED,WAITING,TIMED_WAITING,TERMINATED。

 

1、线程状态跟踪

(1) jps 

jps命令,查询正在运行的虚拟机java进程,一般显示信息就是,pid和进程名称:

技术图片

 

 

(2) jstack

使用jstack [pid] 输出当前进程的堆栈信息。主要有两种使用方式,如下:

技术图片

 

 

  将堆栈信息输出到执行文件 jstack pod > file,输出pid 11840的进程堆栈信息存储到dump11840文件中,执行命令jstack 11840 > C:\Users\86151\Desktop\dump11840。结果如下:

技术图片

 

Java 命令 jps 与 jstack 快速定位线程状态

标签:block   堆栈   ble   img   run   使用   lock   des   file   

原文地址:https://www.cnblogs.com/Latiny/p/12815290.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!