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

相关推荐
不会写DN5 小时前
PHP 中的文件读写与上传
android·开发语言·php
LuckyTHP6 小时前
迁移shibboleth java获取shibboleth用户信息
java·开发语言
客卿1236 小时前
数论===质数统计(暴力法,)
java·开发语言
Σίσυφος19006 小时前
C++ 多肽经典面试题
开发语言·c++·面试
华科易迅6 小时前
Spring 事务(注解)
java·数据库·spring
写代码的小阿帆6 小时前
Web工程结构解析:从MVC分层到DDD领域驱动
java·架构·mvc
东离与糖宝7 小时前
Java 26+Spring Boot 3.5,微服务启动从3秒压到0.8秒
java·人工智能
csdn_aspnet7 小时前
C# 求n边凸多边形的对角线数量(Find number of diagonals in n sided convex polygon)
开发语言·算法·c#
禹中一只鱼7 小时前
【力扣热题100学习笔记】 - 哈希
java·学习·leetcode·哈希算法
凌波粒7 小时前
LeetCode--349.两个数组的交集(哈希表)
java·算法·leetcode·散列表