【JVM调优实战】22-CPU飙到100怎么办 CPU 飙到 100% 怎么办本文是《JVM调优实战》专栏第 22 讲。线上告警:CPU 使用率 100%。你的第一反应可能是——代码写得烂?GC 配置不当?还是有人恶意攻击?冷静下来,CPU 飙高的原因其实只有两大类:要么是业务代码在疯狂计算(死循环、正则回溯、海量数据处理),要么是 GC 在疯狂回收(频繁 Full GC 导致 GC 线程吃满 CPU)。就像家里的电表飞速转动,要么是某个电器在拼命耗电,要么是电路在反复短路跳闸。这两类原因的排查方式截然不同。业务代码问题需要找"哪个线程在干什么",GC 问题需要看"为什么 GC 频率这么高"。本讲将给你一套完整的排查三板斧,并用一个死循环实战案例走一遍从告警到定位根因的全流程。CPU 高的两大原因类型根因特征排查方向业务代码问题死循环/大量计算/正则回溯CPU 持续高,单线程占用极高找 CPU 最高的线程 → jstack 看栈GC 频繁内存不足导致 GC 反复回收CPU 间歇性飙高,GC 时间占比高jstat 看 GC 频率 → 分析 GC