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

相关推荐
Rain的Java大神之路几秒前
我,13年Java老兵,建了个免费网站,公开叫板“Java已死”:没有广告,没有付费墙,151个页面全是踩坑干货
java·后端·程序员
萧瑟余晖3 分钟前
Spring Integration企业集成概览详解
java·后端·spring
Dovis(誓平步青云)6 分钟前
拖动关键帧角色就抽动,动画编辑器怎样补齐中间状态
开发语言·前端·javascript·机器学习·编辑器
行走的陀螺仪9 分钟前
Claude Code 从入门到实战(二):Bash工具、Plan模式与后台任务
开发语言·bash
这个昵称不容易10 分钟前
SpringBoot 墙绘交易平台毕设:128个文件154个接口含论文,带运行截图
java·springboot·毕设
努力努力再努力wz15 分钟前
【Lua 入门系列】从执行模型到事件驱动:一文理解 Lua 有栈协程、挂起恢复与协作式调度
开发语言·lua
SimonKing15 分钟前
告别纸质合同,使用DocuSeal搭建私有电子签平台
java·后端·程序员
七夜zippoe19 分钟前
Spring AI 函数调用:让 Java 方法变成 Agent 的工具(实战全流程)
java·人工智能·spring·ai·agent·函数调用
萧瑟余晖25 分钟前
Spring Batch 高级特性与实践详解
java·spring·batch
她说..26 分钟前
常见设计模式-观察者模式
java·spring boot·spring·观察者模式·设计模式