开篇:CPU 100% 了,你会怎么查?
CPU 飙高是线上最常见的问题之一,也是面试中最爱考的排查题。好消息是,和内存问题相比,CPU 问题的排查路径相对标准化——top 找进程、top -Hp 找线程、jstack 看堆栈。但真正的功力体现在:拿到堆栈之后,你能不能快速定位到根因?
这篇文章记录了几个真实的 CPU 飙高案例,涵盖了压测中发现的代码问题、发布后的 JIT 预热问题、数据库锁竞争导致的 CPU 打满,以及日志打印引发的性能瓶颈。每个案例都完整还原了排查过程。
大约 13 分钟