首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
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
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
10-28 10:03
已编辑
杭州电子科技大学 大数据开发工程师
面试官视角:应届生是怎么定薪的?
在上周分享了面试官如何看待求职者之后,今天我们来换一个角度,谈谈公司是如何为应届生确定薪资的。许多同学对“第一份工资该要多少”没有清晰概念,这很正常。今天,我就从公司的定薪逻辑出发,为大家拆解几个关键考量维度。一、地域基准:薪资的首要锚点地理位置是定薪的第一现实。我清楚地知道我司所在城市的薪资水位。如果候选人的期望薪资显著高于该地区的普遍标准,那么我们通常不会优先考虑。道理很简单:我们希望薪酬体系与本地人才市场保持同步,确保内部公平性与外部竞争力之间的平衡。二、业务匹配:你的技术是否为业务核心?公司的业务形态直接决定了岗位的价值。举例来说,如果我司的主营业务偏传统,技术开发角色主要是为了辅助流...
应届生第一份工资要多少合...
点赞
评论
收藏
分享
11-01 08:03
蚌埠坦克学院 嵌入式软件开发
i人挺适合当研发的
很多人误以为内向型(I型)人格不适合职场,但事实上,I人往往在专注、深度思考和独立完成任务方面有着天然优势。与外向型的人相比,他们更容易沉下心去研究复杂的问题,更享受独自思考和反复打磨细节的过程。在研发领域,尤其是软件开发、算法研究、硬件设计、系统架构等岗位,I人的这些特质恰好能发挥到极致。研发工作需要长时间保持专注,面对复杂的技术难题,耐得住孤独、静得下心,是关键能力。而I人通常不会被外界干扰轻易打断,他们能在自己的思维世界中反复推敲、优化方案,直到达到理想的结果。他们不喜欢浮夸的表达,更注重实际效果。对于I人而言,代码本身就是最有力的语言,研发岗位正好让他们用“逻辑”而非“口才”去证明自己...
i人适合做什么工作
点赞
评论
收藏
分享
10-12 18:54
桂林电子科技大学 嵌入式软件开发
普通二本真的拿不到offer吗
这个简历投了很多家一直拿不到offer,兄弟们帮我看看有没有什么问题
爱吃的大菠萝也不容易:
桂电怎么成二本了我去
0offer互助地
点赞
评论
收藏
分享
10-17 20:23
广东南华工商职业学院 Web前端
关于我离职后被hr抓住鸡脚这件事
被训成啥了,正常发个吐槽公司的事离职后还能私聊阴阳我
迷茫的大四🐶:
笑死了,事实还不让人说了
点赞
评论
收藏
分享
昨天 22:43
西安邮电大学 Java
java后端学习经验分享(大三进大厂版)
大家好,我是西安邮电大学的2027届学生。和很多人一样,我只是一个双非,而在现在这样一个卷学历的时代,我想要找到一份好的实习必然是很困难的。我先说一下我自己的情况,我是软件工程专业,学的是Java后端开发,在今年10月找到了美团的一份后端开发实习,也是我大学的第一份实习。那就有人要问了,java现在不是卷爆了吗?没错。所以如果还有一次选择的机会,我一定学前端(懂的都懂,现在前端学的人没有后端多,而且很多大厂对于前端的岗位开放了很多,属于是需求量增加了,而我们后端依旧在卷来卷去,不推荐哈,起码就是如果要进大厂,相当于你学后端要付出的努力是一定要比学前端多很多的,性价比这块很明显的差异)。那又有同...
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
1
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
造谣刑法老师媚男,反被老师法院起诉
9909
2
...
秋招小失败-后端小小劝退(大结局)
6792
3
...
9本秋招后端收获9+offer, 我做对了什么?
5397
4
...
你们说,人会一直倒霉吗?
3530
5
...
秋招能拿多个大厂offer的其实就两种人
2144
6
...
好想被坚定地选择
1416
7
...
cvte体验实习
1349
8
...
造谣老师媚男,不料炼丹炉炸了
1233
9
...
团子今年是不是普遍涨薪了?开水团变甜了?
1201
10
...
牛客计算机考研题库全面升级,408真题+复试机试题等你来刷!
1153
创作者周榜
更多
正在热议
更多
#
HR问:你期望的薪资是多少?如何回答
#
67572次浏览
653人参与
#
我和mentor的爱恨情仇
#
78201次浏览
431人参与
#
“vivo”个offer
#
42148次浏览
289人参与
#
打工人的精神状态
#
98882次浏览
1290人参与
#
被同事甩锅了怎么办
#
24477次浏览
100人参与
#
你见过哪些工贼行为
#
29213次浏览
142人参与
#
一人一个landing小技巧
#
125932次浏览
1457人参与
#
你的秋招第一场笔试是哪家
#
259078次浏览
2026人参与
#
满帮集团求职进展汇总
#
6972次浏览
68人参与
#
考研失败就一定是坏事吗?
#
149948次浏览
1081人参与
#
vivo工作体验
#
29516次浏览
125人参与
#
和mentor 1on1 都聊什么?
#
2592次浏览
21人参与
#
哪一瞬间觉得自己长大了
#
39815次浏览
494人参与
#
上班后和你想的一样吗?
#
88359次浏览
671人参与
#
校招生月薪1W算什么水平
#
44071次浏览
238人参与
#
实习吐槽大会
#
386982次浏览
2156人参与
#
如何准备秋招
#
64947次浏览
830人参与
#
你想留在一线还是回老家?
#
63022次浏览
537人参与
#
工作后明白的那些道理
#
23232次浏览
225人参与
#
数字马力求职进展汇总
#
207045次浏览
1636人参与
#
我是面试官,请用一句话让我破防
#
29388次浏览
133人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务