Java运维实战:问题定位-CPU突增排查

java程序最常见的故障场景就是CPU徒增的情况了,本片文章为你讲解java程序CPU突增的情况怎么进行排查

1、获取CPU消耗高的线程ID

top -Hp 进程ID

然后输入大写P(shift+p),就会将这个进程下的线程按照CPU消耗进行排序展示。

举例

然后获取CPU消耗最大的线程ID

2、打线程dump

jstack 进程ID >threaddump.txt

3、将线程ID转换为16进制

printf "%x\n" 365 【第一步得到的消耗CPU高的线程ID】

得到16进制为16d

4、获取CPU消耗高的线程堆栈

然后再线程dump文件【threaddump.txt】中搜索【16d】就可以找到对应该线程的堆栈信息,从而定位到异常代码

相关推荐
fengci.14 分钟前
Microweber CMS 未授权路径穿越漏洞(CVE-2026-65694)
android·开发语言·前端·学习·php
前端 贾公子25 分钟前
第06章:结构化输出 (上)
java·服务器·前端
程序员zgh28 分钟前
C++ 拷贝赋值运算符 详解
c语言·开发语言·c++
念何架构之路32 分钟前
restartmanager-重启管理子系统
java·开发语言
Yang961143 分钟前
自动化射频测试台快速搭建,鼎讯信通 DXSL 矢量信号源模块二次开发集成指南
运维·自动化
Java内核笔记1 小时前
告别第三方库!Spring Boot 4 原生 API 版本控制全解析:4 种策略 + 实战案例
java·后端
小小洋洋1 小时前
OpenWrt 从U盘迁移到内置 eMMC,并完成扩容与 Docker 安装
java·docker·eureka
翼龙云_cloud1 小时前
腾讯云国际站代理商: COS 对象存储 + CDN加速 从创建到加速完成
运维·服务器·云计算·腾讯云
SomeB1oody1 小时前
【RustyML入门】2.0. 经典机器学习
开发语言·后端·机器学习·rust·教程
就改了2 小时前
SpringBoot 自定义线程池 + 实时监控指标
java·spring boot·后端