首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
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
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
09-28 14:10
中国海洋大学 运营
这段时间要投简历吗
看别人说国庆快到了 放假那几天以及节假日前后两三天最好不要投简历, 那时候捞简历的hr们很多都休假了,投了没反应有点纠结现在还要不要投呀
点赞
评论
收藏
分享
09-24 17:00
门头沟学院 测试开发
得物一面挂
一面完,第二天更新状态就挂了,我真的哭死,秋招太难了
我的秋招日记
点赞
评论
收藏
分享
09-19 12:15
门头沟学院 Java
等阿里和字节的就可以打牌了
猫头夜鹰:
请问收到意向要点接受拒绝吗,还是开奖之后再接受拒绝
点赞
评论
收藏
分享
09-25 21:44
武汉工程大学 硬件开发
兄弟们,试用期被裁了,简历还能改不
点赞
评论
收藏
分享
不愿透露姓名的神秘牛友
09-25 18:27
给东哥卖命一个月了……
以前觉得就业去互联网大厂会很累,实习观察部门和东子福利后看法有些改观。JDY刚来有为期三天的带薪培训,主要是听课,交流讨论,做一些破冰游戏。每天啥也不干日收入500是真香!我的mt姐姐人还是很不错的,给了很大的包容,无论是技术成长或是日常工作流程。只有一点就是言语简短,听安排后回去就忘了,不停的求问反馈,最后任务也都完成了,学到很多!作息:基本早十晚九,听说很多1011,我也算是幸运一点了。中午吃饭休息两小时,晚上应该也有一个多小时休息。正职有事会晚下班。饮食!加粗放大!!东子的伙食必须狠狠夸,2号楼,每天就是吃吃吃午餐20餐补基本覆盖,晚餐6点50开始免费,可以选水果酸奶。又是爱东的一天❤️
京东工作强度 339人发布
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
1
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
“时错”不再,一个i人的北漂独白
1.3W
2
...
双非崽的绝望秋招
3478
3
...
雷火 9.28 笔试
2264
4
...
4399Java后端开发一面(30min)
2062
5
...
被员工举报补班,公司反手取消14天年假
1893
6
...
网易雷火
1787
7
...
心态爆炸
1718
8
...
九月份面试总结
1440
9
...
百度C++国际驾驶实习生
1365
10
...
能力不行但还是混进大厂了
1359
创作者周榜
更多
正在热议
更多
#
哪些公司真双非友好?
#
29619次浏览
137人参与
#
4399求职进展汇总
#
33352次浏览
192人参与
#
乐堡互娱校招
#
37724次浏览
315人参与
#
技术转行的心路历程
#
62207次浏览
696人参与
#
牛友们的论文几号送审
#
56207次浏览
818人参与
#
秋招感动瞬间
#
35252次浏览
325人参与
#
携程求职进展汇总
#
626403次浏览
4611人参与
#
阿里云工作体验
#
26048次浏览
100人参与
#
今年秋招还有金九银十吗
#
3433次浏览
28人参与
#
应届生第一份工作最好去大厂吗?
#
33760次浏览
589人参与
#
你们公司哪个部门最累?
#
32377次浏览
233人参与
#
工作后会跟朋友渐行渐远吗
#
41307次浏览
306人参与
#
传音控股工作体验
#
28016次浏览
77人参与
#
大厂面试初体验
#
56866次浏览
276人参与
#
一人一个landing小技巧
#
118938次浏览
1424人参与
#
德州仪器求职进展汇总
#
11908次浏览
162人参与
#
贝壳求职进展汇总
#
31134次浏览
175人参与
#
毕业季,给职场新人一些建议
#
123263次浏览
2043人参与
#
机械人的薪资开到多少,才适合去?
#
128871次浏览
473人参与
#
签约有哪些注意事项
#
47870次浏览
275人参与
#
机械人,你拿到几个offer啦
#
48429次浏览
356人参与
#
你会为了工作牺牲生活吗?
#
47595次浏览
376人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务