线上某个进程导致CPU飙升,你会怎么做
前阵子面某大厂时,我遭遇了一场堪称 “技术理念 Battle” 的灵魂拷问,现在回想起来还忍不住想笑。
当时面试官一脸严肃地抛出问题:“实习时排查过线上 CPU 问题吗?如果某个进程把 CPU 吃到快打满,你会怎么操作?”
我胸有成竹地答:“首先肯定是监控报警触发了,先定位到具体服务和进程。这种紧急情况得先止损啊,所以会先 kill 掉有问题的进程,接着走灰度回滚,之后再通过日志打点、抓火焰图分析具体代码瓶颈……”
话还没说完,面试官眉头一挑直接打断:“等等!你上来就 kill 掉了?什么都不管就直接 kill?”
我愣了一下,赶紧解释:“CPU 都快打满了,服务基本没法正常响应,不先止损用户体验崩了呀!先恢复服务,后续再慢慢查原因……”
“你考虑过 kill 掉的后果吗?” 面试官语气更重了,“你们平时处理线上问题都这么不专业吗?”
空气瞬间凝固, 我简直无语了,后面的争论几乎围绕 “为什么直接kill掉” 展开,我甚至一度不想要继续这场面试了,最后反问环节我直接没有问,我说没什么需要问的,然后就感谢面试官了。
结果万万没想到 —— 几天后居然收到了通过通知!这波反转属实给我整懵了。
牛友们有什么好见解吗