CPU100%,怎么快速定位?
来源:清一色财经 时间:2023-05-06 18:21:54
一台机器,CPU100%,如何找到相关服务,如何定位问题代码,今天简单分享下思路。
(相关资料图)
作者|58沈剑
一台机器,CPU100%,如何找到相关服务,如何定位问题代码,今天简单分享下思路。
假设,服务器上部署了若干Java站点服务,以及若干Java微服务,突然收到运维的CPU异常告警。如何定位是哪个服务进程导致CPU过载,哪个线程导致CPU过载,哪段代码导致CPU过载?
简要步骤如下:
找到最耗CPU的进程;找到最耗CPU的线程;查看堆栈,定位线程在干嘛,定位对应代码;步骤一、找到最耗CPU的进程
工具:top
方法:
执行top -c,显示进程运行信息列表键入P (大写p),进程按照CPU使用率排序图示:
如上图,最耗CPU的进程PID为10765。
步骤二、找到最耗CPU的线程
工具:top
方法:
top -Hp 10765,显示一个进程的线程运行信息列表键入P (大写p),线程按照CPU使用率排序图示:
如上图,进程10765内,最耗CPU的线程PID为10804。
步骤三、查看堆栈,定位线程在干嘛,定位对应代码首先,将线程PID转化为16进制。
工具:printf
方法:printf “%x\n”10804
图示:
如上图,10804对应的16进制是0x2a34,当然,这一步可以用计算器。
之所以要转化为16进制,是因为堆栈里,线程id是用16进制表示的。
接着,查看堆栈,找到线程在干嘛。
工具:jstack
方法:jstack 10765 | grep ‘0x2a34’ -C5 –color
打印进程堆栈通过线程id,过滤得到线程堆栈图示:
如上图,找到了耗CPU高的线程对应的线程名称“AsyncLogger-1”,以及看到了该线程正在执行代码的堆栈。最后,根据堆栈里的信息,找到对应的代码,搞定!
标签:
- CPU100%,怎么快速定位?
- 我的世界天骐三人空岛战争 我的世界天骐三人空岛 世界快资讯
- 热点评!克洛普:迪亚斯复出后对球队帮助巨大,我对他产生的影响非常满意
- 世界速读:星球大战绝地幸存者科博星河床观察点道具在哪里
- lol阿卡丽改版前技能介绍_lol阿卡丽重做
- 市第二中学:开展“扣好人生第一粒扣子”主题教育 为学生健康成长筑牢根基 世界速递
- 通讯!班组天地 | “坐上我们的车,就要负责到底”
- 焦点精选!子洲县气象台发布暴雨蓝色预警【Ⅳ级/一般】【2023-05-06】
- 《向往的生活》告别季,也是慢综艺时代的落幕
- 环球今日报丨岳西7家学科类校外培训机构接受检查
- 全球热文:“一江一河”交汇处,把最好的岸线留给市民
- 广西崇左市江州区市场监管局助力村集体经济产品品牌创建
- 供销两旺,“五一”家电消费活力释放|今日视点
- 以吏为师三代之旧法也_以吏为师
- 观察:乌兰察布农村征地补偿标准是多少
- 不会游泳的他去年在长江边两天救起3人 好小伙玉苏普江获省市县三级表彰_世界即时看
- 世界新消息丨百川能源:5月5日融资买入36万元,融资融券余额2344.3万元
- 突然变香了!2K屏旗舰跌至2399元,12GB+512GB+5500mAh+天玑8200
- 什么是pi控制方式_什么是PI控制 关注
- 今热点:公布!104处!金湾应急避难场所
- 全球通讯!坚强不屈的意思和造句 坚强不屈的意思
- 股票行情快报:锦浪科技(300763)5月5日主力资金净卖出3547.45万元|天天聚看点
- 宁夏“重金”奖励86项科技项目 焦点精选
- 电学基础知识大全初中_电学基础知识
- 【世界独家】蚂蚁小散10万股票实盘账户展示0505:1.163
- 陈仓检察院开展献爱心活动
- 写人的好段落200字_写人的好段_200字20段_天天实时
- 环球微动态丨CSGO饰品网站出金几率大吗 CSGO饰品网站推荐前十名
- 德国商业银行:加拿大强劲的就业市场数据将支撑加元
- 打卡绵阳仙鹤镇千亩麦田 麦浪滚滚收割忙 全球百事通
x
广告
x
广告