JVM运维

找出某个线程出现死锁的原因

jstack [option] pid

第一步先找出Java进程ID

jps

第二步找出该进程内最耗费CPU的线程 top -Hp pid

(根据某个字段排序:先按f,进入字段选择选项,上下键选择,然后s确认,q退出,就实现了排序)

第3步 把耗时最久的线程Id用16进制表示

比如是772线程

第4步 jstack 输出

bash 复制代码
jstack 321 | grep 304

可以看到这里是条件等待 正常的等待

如果是异常的等待 可以进一步看jstack日志,看是哪一步的堆栈卡住的

相关推荐
tjl521314_211 分钟前
02C++ 静态变量与链接性
java·jvm·c++
Hello eveybody6 分钟前
学习C++的好处
开发语言·c++
hhb_6188 分钟前
Perl脚本自动化日志分析与数据批量处理实操案例
开发语言·自动化·perl
wjs202410 分钟前
XPath 实例
开发语言
十五年专注C++开发13 分钟前
CMake基础: Qt之qt5_wrap_ui
开发语言·c++·qt·ui
南境十里·墨染春水15 分钟前
C++日志 1——日志系统的概念与分类
开发语言·c++
jf加菲猫18 分钟前
第16章 容器类
开发语言·c++·qt·ui
垦利不18 分钟前
TS基础篇
开发语言·前端·typescript
让梦想再启航20 分钟前
JVM详解
jvm