常见性能工具计算CPU使用率公式

备注: 性能分析工具给出的都是间隔一段时间的平均 CPU 使用率,所以要注意间隔时间的设置.
CPU使用率的各项指标介绍
-
user(通常缩写为 us),代表用户态 CPU 时间。注意,它不包括下面的 nice 时间,但包括
了 guest 时间。 -
nice(通常缩写为 ni),代表低优先级用户态 CPU 时间,也就是进程的 nice 值被调整为 1-
19 之间时的 CPU 时间。这里注意,nice 可取值范围是 -20 到 19,数值越大,优先级反而
越低。 -
system(通常缩写为 sys),代表内核态 CPU 时间。
-
idle(通常缩写为 id),代表空闲时间。注意,它不包括等待 I/O 的时间(iowait)。
-
iowait(通常缩写为 wa),代表等待 I/O 的 CPU 时间。
-
irq(通常缩写为 hi),代表处理硬中断的 CPU 时间。
-
softirq(通常缩写为 si),代表处理软中断的 CPU 时间。
-
steal(通常缩写为 st),代表当系统运行在虚拟机中的时候,被其他虚拟机占用的 CPU 时
间。 -
guest(通常缩写为 guest),代表通过虚拟化运行其他操作系统的时间,也就是运行虚拟机
的 CPU 时间。 -
guest_nice(通常缩写为 gnice),代表以低优先级运行虚拟机的时间。

本文介绍了CPU使用率的各个指标,包括用户态、内核态、空闲时间等,并通过一个具体的Nginx+PHP-FPM的高性能环境模拟实验,展示了如何使用ab、top、perf等工具进行性能分析。通过perf数据,发现并解决了因测试代码导致的CPU高使用率问题,强调了针对不同CPU使用情况应关注的性能排查方向。
最低0.47元/天 解锁文章
4792

被折叠的 条评论
为什么被折叠?



