栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

cpu占用率高或者响应慢的进程排查问题

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

cpu占用率高或者响应慢的进程排查问题

cpu占用率高或者响应慢的进程排查问题
    • 1. 先启用测试项目
    • 2. 通过命令查询当前cpu及内存使用率
    • 3. 调用测试项目死锁接口
    • 4. Jps
    • 5. Jstack 74232(jps对应jar的进程),可以查到死锁的线程
    • 6. 调用测试死循环接口
    • 7. 找到对应java进程 74232
    • 8. 定位进程
    • 9. 定位线程
    • 10. 转换为16进制
    • 11. 根据该线程查占用资源

1. 先启用测试项目

该项目内有一个死锁和一个死循环

nohup java -jar -Deserver.port=8088 thread-demo-0.0.1-SNAPSHOT.jar
2. 通过命令查询当前cpu及内存使用率

先连接ssh

top
3. 调用测试项目死锁接口

死锁线程是阻塞状态,不会占满cpu

curl http:127.0.0.1:8088/loop
4. Jps
jps 
5. Jstack 74232(jps对应jar的进程),可以查到死锁的线程
jstack 74232
6. 调用测试死循环接口

死循环会占满cpu

curl http:127.0.0.1:8088/loop
7. 找到对应java进程 74232

8. 定位进程

**展示进程和占用资源的排行榜,找到对应PID **

top -c
9. 定位线程

定位到这个进程最消耗cpu的线程PID 74318

top -H -p 74232
10. 转换为16进制

返回对应的16进制0x1224e

printf "0x%xn" 74318
11. 根据该线程查占用资源

根据占用资源多的进程及线程里面占用最高的线程

jstack 74232 | grep -A 20 0x1224e

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/331854.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号