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日志,看是哪一步的堆栈卡住的

相关推荐
码界筑梦坊2 分钟前
132-基于Python的中老年体检数据可视化分析系统
开发语言·python·信息可视化·flask·毕业设计
人道领域3 分钟前
【LeetCode刷题日记】617.合并二叉树(空间换安全,还是原地省内存)
java·数据结构·算法·leetcode
曹牧3 分钟前
Bug定位
开发语言
linbaiwan6664 分钟前
PD和QC快充协议电压诱骗(取电)芯片:USB-C口支持PD,USB-A口支持QC
c语言·开发语言
大飞记Python4 分钟前
【2026更新】Python基础学习指南(AI版)——06函数
开发语言·人工智能·python
独自破碎E7 分钟前
机器人Java后端算法笔试题解析
java·windows·算法
我是一颗柠檬7 分钟前
【JDK8新特性】函数式接口Day2
java·开发语言·后端·intellij-idea
Bat U8 分钟前
JavaEE|JVM
java·jvm·java-ee
计算机安禾9 分钟前
【c++面向对象编程】第45篇:萃取(Traits)技术与策略类:STL源码中的智慧
开发语言·c++
Mahir0810 分钟前
Spring Boot 自动装配深度解密:从原理到自定义 Starter 实战
java·spring boot·后端·自动装配·自定义starter·大厂面试题