首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
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
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
2025-12-29 20:34
清华大学 机械设计/制造
机械有35岁危机吗?
大家好,今天给大家分享机械有35岁危机吗。分享一些网友的经历:1、45周岁,一直从事非标机械设计,工资是同行是2-8倍吧,每年研发1-2台无借鉴设备,常见设备不算。2、喝到酒精肝,喝到高血压。 打工尽头是失业。 年轻多攒点钱是王道。3、22 岁入不了行,硕士毕业都 28 了。4、26岁已经干管理了,基层两年,技术四年,边工好酒量,边工好敞亮,我跟供应商说话就是好使。5、我老师公司结构工程师全是40多岁的。6、非标机械工程师,35岁后就没人要了嘛,我感觉只要待遇不太过分,依旧抢着要啊。7、说实话,小公司一般也不会认真教你,甚至还会怕你学会了。因为小公司给不了太高的工资,你都学会了,公司又给不上工...
点赞
评论
收藏
分享
2025-12-29 10:08
电子科技大学成都学院 C++
25届女计算机软件工程专业成都求职QT开发,简历求修改
从12月份开始投递,很多要了简历后没有下文或者直接拒绝说不合适,可能简历筛选没过。目前都没有收到过一次面试机会,连积累面试经验都没有机会,焦虑又焦急😔😔😔我想知道差在哪里?求大佬指点,感谢
迷茫的大四🐶:
明显不太对,一年经验,但产出内容非常少,应该把部分内容移到工作里面
点赞
评论
收藏
分享
2025-12-31 17:42
已编辑
山东大学 销售技术工程师
简历求拷打
朋友们好,本人是9本ic本科,参加26考研感觉结果不是很妙,遂迅速投入找工作。但本人技术能力很一般()想找客户经理、技术支持 、售前工程师、fae和tse这类对技术要求不是特别高的。但现在这个时间段已经美美错过26秋招,市面上基本上看不到什么fae相关在招聘。想着先找个实习,但也很难找,对口的几乎没有。而且身边的朋友们都说一旦做了非技术岗,就再也转不回技术岗了,但技术岗可以转非技术岗,让我先找技术岗啥的。因为对求职一窍不通,求大家建议🥺
点赞
评论
收藏
分享
2025-12-30 01:08
美团_测试开发
不需要所有人都“喜欢”我们
最近年底,各个大厂基本都在忙着年度述职,这里可以和大家科普一下,所谓的年度述职就是在老板面前汇报你这一年的工作,你这一年都干了 什么 ,当初给你制定的目标(OKR) 有没有完成呀等等。一般就是写个文档或者ppt然后组内轮流汇报,也就相当于期末考试了,最后的成绩是关联你的年终奖的。所以那些15薪18薪的,多出来的几个月工资你能不能拿的满是要看你今年的表现的,表现的好可能拿满或者拿到120%,表现得不好可能就拿到80%或者50%,再或者没有年终奖得也不是没有可能。一直都在比然后从上面的述职就想到了从小到大我们一直在被要求超过别人,从上学的考试成绩,到上班拿多少得薪资,再到结婚找了个多好得对象,再往...
我们是不是被“优绩主义”...
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
1
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
你会和mentor进行deeptalk吗?
2974
2
...
双非本2025秋招总结:65w+SSP三选一,最终还是“有鹅选鹅”|附面试心路历程
2253
3
...
学院本 末 211 硕勇闯 java 后端实习美团 oc 逆袭指南
1606
4
...
牛客运营们,我保证这是我最后一次消费烤肠了!
1430
5
...
27届学院本一段中厂一段中大厂实习,简历求锐评
1010
6
...
元旦前被裁员了
850
7
...
我的牛客年度报告
736
8
...
实习两周遭劝退,隔天就招新人,合理吗?
717
9
...
2025年牛客年度作者丨颁奖典礼✨
701
10
...
27前端已没招
701
创作者周榜
更多
正在热议
更多
#
对2025年忏悔
#
7632次浏览
151人参与
#
AI时代,哪些岗位最容易被淘汰
#
25457次浏览
217人参与
#
实习没人带,苟住还是跑路?
#
16329次浏览
309人参与
#
秋招被确诊为……
#
279979次浏览
1587人参与
#
一人说一家双休的公司
#
11156次浏览
126人参与
#
每个月的工资都是怎么分配的?
#
81507次浏览
662人参与
#
字节出了豆包coding模型
#
8212次浏览
70人参与
#
春招前还要继续实习吗?
#
9420次浏览
109人参与
#
为了秋招你都做了哪些准备?
#
29995次浏览
527人参与
#
离家近房租贵VS离家远但房租低,怎么选
#
14217次浏览
132人参与
#
2025秋招体验点评
#
86227次浏览
715人参与
#
非技术2024笔面经
#
452313次浏览
4920人参与
#
牛友的国庆旅行碎片
#
26513次浏览
128人参与
#
我的第一个1024节
#
17128次浏览
251人参与
#
职场新人生存指南
#
492139次浏览
9518人参与
#
面试官问过你最刁钻的问题是什么?
#
13304次浏览
120人参与
#
工作后会跟朋友渐行渐远吗
#
54426次浏览
395人参与
#
毕业租房也有小确幸
#
152815次浏览
4533人参与
#
实习生如何通过转正
#
118414次浏览
1440人参与
#
求职遇到的搞笑事件
#
154593次浏览
890人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务