使用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 可以看线程等待情况

相关推荐
于指尖飞舞1 小时前
java面试题总结
java·开发语言
ZealSinger1 小时前
LangChain4j用AiServices拼Tool
java·rag·ai智能体·langchain4j
vx_Biye_Design2 小时前
springboot高校选课系统82776-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·spring·课程设计·express
Sweet锦3 小时前
不调 Python,不装向量库:我用纯 Java 写了一套以图搜图引擎
java·人工智能·开源·图搜索
如意猴3 小时前
【C++】007 C/C++ 内存管理机制、malloc与new的区别及模板初阶
java·c++·算法
可乐鸡翅yeah_4 小时前
HLS 分片过期清理,直播旧 TS 分片磁盘爆满问题处理
java·后端·spring·m3u8·m3u8在线·音视频在线播放
专业程序开发源4 小时前
SSM校园拍摄交流服务平台36936-计算机课程设计、毕业设计
java·spring boot·后端·python·elasticsearch·php·课程设计
用户094248568034 小时前
第23章:OpenJDK逃逸分析、标量替换与锁优化
java·jvm
wuminyu4 小时前
LockStack在虚拟线程Mount和Unmount拷贝过程剖析
java·linux·c语言·jvm·c++