首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
芋圆也有烦恼
北京航空航天大学 Java
发布于北京
关注
已关注
取消关注
.
@搬山道猿:
面试官:应用上线后Cpu使用率飙升如何排查?
上次面试官问了个问题:应用上线后Cpu使用率飙升如何排查?其实这是个很常见的问题,也非常简单,那既然如此我为什么还要写呢?因为上次回答的时候我忘记将线程PID转换成16进制的命令了。所以我决定再重温一遍这个问题,当然贴心的我还给大家准备好了测试代码,大家可以实际操作一下,这样下次就不会忘记了。模拟一个高CPU场景public class HighCpuTest { public static void main(String[] args) { List<HignCpu> cpus = new ArrayList<>(); Thread highCpuThread = new Thread(()->{ int i = 0; while (true){ HignCpu cpu = new HignCpu("Java日知录",i); cpus.add(cpu); System.out.println("high cpu size:" + cpus.size()); i ++; } }); highCpuThread.setName("HignCpu"); highCpuThread.start(); }}复制代码在main方法中开启了一个线程,无限构建HighCpu对象。@Data@AllArgsConstructorpublic class HignCpu { private String name; private int age;}复制代码准备好上面的代码,运行HighCpuTest,然后就可以开始一些列的操作来发现问题原因了。排查步骤第一步,使用 top 找到占用 CPU 最高的 Java 进程1. 监控cpu运行状,显示进程运行信息列表top -c2. 按CPU使用率排序,键入大写的PP复制代码第二步,用 top -Hp 命令查看占用 CPU 最高的线程上一步用 top命令找到了那个 Java 进程。那一个进程中有那么多线程,不可能所有线程都一直占着 CPU 不放,这一步要做的就是揪出这个罪魁祸首,当然有可能不止一个。执行top -Hp pid命令,pid 就是前面的 Java 进程,我这个例子中就是 16738 ,完整命令为:top -Hp 16738,然后键入P (大写p),线程按照CPU使用率排序执行之后的效果如下查到占用CPU最高的那个线程 PID 为 16756第三步,查看堆栈信息,定位对应代码通过printf命令将其转化成16进制,之所以需要转化为16进制,是因为堆栈里,线程id是用16进制表示的。(我当时就是忘记这个命令了~)[root@review-dev ~]# printf "%x\n" 167564174复制代码得到16进制的线程ID为4174。通过jstack命令查看堆栈信息jstack 16738 | grep '0x4174' -C10 --color复制代码如上图,找到了耗CPU高的线程对应的线程名称“HighCpu”,以及看到了该线程正在执行代码的堆栈。最后,根据堆栈里的信息,定位到对应死循环代码,搞定。小结cpu使用率飙升后如何排查这个问题不仅面试中经常会问,而且在实际工作中也非常有用,大家最好根据上述步骤实际操作一下,这样才能记得住记得牢。
点赞 93
评论 8
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
04-30 09:51
满帮集团_短途技术部_Java开发工程师
满帮集团首届校园Agent算法大赛正式启动!20w+奖金、校招直通、实习offer,等你来挑战!
点赞
评论
收藏
分享
昨天 21:47
长春吉大附中实验学校 产品经理
入职体检被刷的五个隐藏原因:除了乙肝问题,还有这些指标…
“入职体检通过了吗?”——这句话几乎是职场新人的“必答题”。很多人以为只要没乙肝就万事大吉,但事实上,国家早已明令禁止入职体检检查乙肝(特殊行业除外),真正让很多人“折戟”的,往往是那些看似普通却被忽视的指标。以下五个隐藏原因,尤其需要提前警惕。01、肝功能异常肝功能里的ALT(谷丙转氨酶) 和AST(谷草转氨酶),是入职体检的“高频淘汰项”。正常情况下,ALT和AST的参考范围多为0-40U/L,若超过正常上限2倍(即>80U/L),大概率会被要求复查;若持续升高,甚至可能直接被拒。●为什么被刷?企业会担心这背后隐藏肝炎(如甲肝、丙肝)、脂肪肝、肝损伤等问题——前者可能有传染性,后者可能提示...
点赞
评论
收藏
分享
04-14 08:52
河南科技大学 Java
要了简历逗逗我吗,😭,是不是简历是一坨,请教一下佬,不玻璃心
牛客85582809...:
第一个是自己的项目吗
点赞
评论
收藏
分享
04-03 10:26
中国矿业大学 Java
字节hr面
hr先为昨天的delay道歉了,态度很温柔也很专业。主要问一些压力的克服实习内容与成长,困难怎么克服到岗时间与实习时长为什么不考研先打了个mentor和leader比较忙的预防针反问:工作节奏,offer时间
二十岁的编程男神王大...:
兄弟,到岗时间你说的多少呀,我们导师只能要求六月走,感觉说六月会不会给挂了offer
查看4道真题和解析
点赞
评论
收藏
分享
04-30 18:42
门头沟学院 人工智能
五一学习计划
五天作战计划 Day 0(4/30 晚 1.5h)— 准备 # clone 项目 git clone https://github.com/shareAI-lab/learn-claude-code.git cd learn-claude-code # 装依赖 python3 -m venv .venv source .venv/bin/activate pip install -r requirements.txt # 配 API key(重要:这次需要花点钱,详见后文成本估算) cp .env.example .env # 编辑 .env 填入 ANTHROPIC_API_KEY # 跑 ...
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
1
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
27实习宇树科技AI agent开发二面
1.7W
2
...
学院本拿下字节暑期offer!!!
6475
3
...
快手后端一面面经
5516
4
...
agent开发是测试的最好转型期
4910
5
...
后端开发简历求拷打
4678
6
...
一位小镇做题家的自白
4267
7
...
27届UE游戏客户端暑期结束力,小小地做个总结吧
3936
8
...
至今,暑假实习0offer
3518
9
...
面试真题】美团Agent 方向面经整理
3036
10
...
九本实习率
2683
创作者周榜
更多
正在热议
更多
#
如果春招能重来,我会___
#
24067次浏览
252人参与
#
有深度的简历长什么样?
#
59177次浏览
756人参与
#
联宝杯大学生创新大赛,你的技术值得产业级答案
#
48277次浏览
521人参与
#
这个offer值得去吗?
#
23737次浏览
187人参与
#
刚入职就____,这样正常吗?
#
144378次浏览
694人参与
#
除了线上,还能去哪些地方投简历
#
12819次浏览
121人参与
#
在爱玛,骑向未来
#
15297次浏览
337人参与
#
字节开奖
#
153687次浏览
713人参与
#
上班苦还是上学苦呢?
#
345848次浏览
2076人参与
#
你见过最离谱的招聘要求是什么?
#
281227次浏览
1886人参与
#
今年形式下双非本找得到工作吗
#
329132次浏览
1776人参与
#
大学四年该怎么过,才不算浪费时间?
#
24025次浏览
108人参与
#
薪资爆料
#
423425次浏览
2228人参与
#
字节求职进展汇总
#
1851884次浏览
15437人参与
#
双非应该如何逆袭?
#
589447次浏览
6410人参与
#
影石Insta360求职进展汇总
#
190496次浏览
1386人参与
#
双非本科求职如何逆袭
#
1652237次浏览
13099人参与
#
实习怎么做才有更好的产出
#
50301次浏览
460人参与
#
提名点击就挂的公司
#
144428次浏览
492人参与
#
简历上的经历如何包装
#
293875次浏览
4121人参与
#
我的秋招“寄”录
#
476757次浏览
3065人参与
#
牛友投递互助,不漏校招机会
#
483023次浏览
5350人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务