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】就可以找到对应该线程的堆栈信息,从而定位到异常代码

相关推荐
Cyanto11 分钟前
MyBatis-Plus高效开发实战
java·开发语言·数据库
qhd吴飞14 分钟前
mybatis 差异更新法
java·前端·mybatis
艾莉丝努力练剑28 分钟前
【LeetCode&数据结构】二叉树的应用(二)——二叉树的前序遍历问题、二叉树的中序遍历问题、二叉树的后序遍历问题详解
c语言·开发语言·数据结构·学习·算法·leetcode·链表
程序员JerrySUN33 分钟前
Linux系统架构核心全景详解
linux·运维·系统架构
无敌的牛34 分钟前
Linux文件理解,基础IO理解
linux·运维·服务器
YuTaoShao36 分钟前
【LeetCode 热题 100】51. N 皇后——回溯
java·算法·leetcode·职场和发展
angushine37 分钟前
鲲鹏服务器logstash采集nginx日志
运维·服务器·nginx
null不是我干的1 小时前
基于黑马教程——微服务架构解析(一)
java·微服务·架构
睿思达DBA_WGX1 小时前
由于主库切换归档路径导致的 Oracle DG 无法同步问题的解决过程
运维·数据库·oracle
Bonnie_12151 小时前
04-netty基础-Reactor三种模型
java·nio·jetty