Live2D

java运行服务卡住排查——jstack

使用jstack

 

介绍:

  1. jstack命令用于打印指定Java进程、核心文件或远程调试服务器的Java线程的Java堆栈跟踪信息。
  2. jstack命令可以生成JVM当前时刻的线程快照。线程快照是当前JVM内每一条线程正在执行的方法堆栈的集合,生成线程快照的主要目的是定位线程出现长时间停顿的原因,如线程间死锁、死循环、请求外部资源导致的长时间等待等。
  3. 如果java程序崩溃生成core文件,jstack工具可以用来获得core文件的java stack和native stack的信息,从而可以轻松地知道java程序是如何崩溃和在程序何处发生问题。
  4. 当指定的进程在64位Java虚拟机上运行时,可能需要指定-J-d64选项,例如:jstack -J-d64 -m pid。
  5. 该命令可能在未来的版本中不可用!!!

 

1
2
3
4
5
6
7
8
9
10
11
12
13
jstack [ options ] pid
pid:Java进程的ID,可以通过jps命令查询到。
 
options 参数说明
-F     当 jstack [-l] pid 没有响应时,强制打印一个堆栈转储。
 
-l      打印关于锁的其他信息,比如拥有的java.util.concurrent ownable同步器的列表。
 
-m    打印包含Java和本机C/ C++帧的混合模式堆栈跟踪。
 
-h     打印帮助信息
 
-help 打印帮助信息

 

一般使用  jstack pid 查看错误信息,如:

 

 

 

 

 

 

转自:https://zhuanlan.zhihu.com/p/475571849

posted @   -涂涂-  阅读(2286)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
历史上的今天:
2019-06-16 python读取word中的段落、表、图+++++++++++Doc转换Docx
2019-06-16 python安装 hanlp +使用 坑坑坑。。。填填填。。。
点击右上角即可分享
微信分享提示