使用jps jstack排查系统问题

第一步用jps查进程信息:

jps -l 会列出所有 Java 进程和主类名,加 -v 还能看到 JVM 启动参数。

第二步用jstack查线程

jstack <pid> pid是上面jps得到的进程号

输出格式

线程名 内部线程编号 prio=(优先级别) tid=(JVM线程ID)nid=(操作系统线程 ID)

java.lang.Thread.State 线程状态:

状态 含义 常见原因
RUNNABLE 运行中/可运行 正常,但持续 RUNNABLE 可能是死循环
BLOCKED 等待获取锁 锁竞争,排查死锁看这个
WAITING 无限等待 wait() / join() / park()
TIMED_WAITING 限时等待 sleep() / wait(timeout),心跳线程正常就该是这个
NEW / TERMINATED 未启动/已结束 少见

死锁要查Found one Java-level deadlock 可以看线程等待情况

相关推荐
_Evan_Yao4 小时前
Redis 缓存穿透、击穿、雪崩,一次讲清!
java·spring·mybatis
梓豪csd5 小时前
消息订阅中心:谁该收到哪条通知
java·开发语言·人工智能·低代码·自动化·1024程序员节
秋饼5 小时前
Spring AI 2.1 Message Parts 深度实战:推理签名回放与跨轮记忆持久化的源码级落地
java·ai·技术分享·后端开发
thefool1122666 小时前
TCP 1
java·1024程序员节
金銀銅鐵8 小时前
[Java] 用 GUI 展示 EnumSet 增减元素时的内部变化(下)
java·后端·ai编程
AI人工智能+电脑小能手8 小时前
一次请求打几个下游,这个Java并行任务工具类6个方法按序聚合
java·线程池·并发编程·1024程序员节·批量处理·并行任务
paopaokaka_luck10 小时前
心理咨询管理系统(WebSocket实时沟通、基于用户的协同过滤、 ECharts多维分析、 预约业务流程、预约校验与定时处理)
java·vue.js·spring boot·mysql·spring·echarts·1024程序员节
2301_322414280410 小时前
springboot农产品交易平台的设计与实现08055-计算机毕设 原创(免费领源码+部署教程+开发环境)
java·spring boot·redis·mysql·tomcat·maven·mybatis
考虑考虑11 小时前
JDK26的JEP 500属性
java·后端·java ee
LMT流氓兔11 小时前
第五单元——第十二课:把脚本整理成项目
java·数据库·python·langchain·1024程序员节