CPU突然飙升,如何定位到问题所在?
第一步,通过top命令看是哪个进程的CPU突然飙升?
top
第二步,通过ps命令看进程中线程的cpu和内存的占用情况
ps -T -p 9966 -o pid,tid,pcpu,pmem,time,comm --sort=-pcpu
第三步,通过perf获取火焰图分析CPU占用过高问题
# 1. 采集性能数据(采样30秒)
sudo perf record -F 99 -a -g -- sleep 30# 2. 生成原始堆栈报告
sudo perf script > out.perf# 3. 生成火焰图
stackcollapse-perf.pl out.perf > out.folded
flamegraph.pl out.folded > flamegraph.svg