java运行服务卡住排查——jstack
使用jstack
介绍:
- jstack命令用于打印指定Java进程、核心文件或远程调试服务器的Java线程的Java堆栈跟踪信息。
- jstack命令可以生成JVM当前时刻的线程快照。线程快照是当前JVM内每一条线程正在执行的方法堆栈的集合,生成线程快照的主要目的是定位线程出现长时间停顿的原因,如线程间死锁、死循环、请求外部资源导致的长时间等待等。
- 如果java程序崩溃生成core文件,jstack工具可以用来获得core文件的java stack和native stack的信息,从而可以轻松地知道java程序是如何崩溃和在程序何处发生问题。
- 当指定的进程在64位Java虚拟机上运行时,可能需要指定-J-d64选项,例如:jstack -J-d64 -m pid。
- 该命令可能在未来的版本中不可用!!!
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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
2019-06-16 python读取word中的段落、表、图+++++++++++Doc转换Docx
2019-06-16 python安装 hanlp +使用 坑坑坑。。。填填填。。。