NEWS

什么是CPU的使用率?

2022.09.20火猫网络阅读量: 117839

1. CPU 使用率的真实含义是什么?

我们通常所说的CPU使用率是指 “non-idle time”:即CPU不执行 idle thread 的时间。操作系统内核会在上下文切换时记录CPU的运行时间。假设一个 non-idle thread 开始运行,100ms 后结束,内核会认为这段时间内 CPU 利用率为 100%。这种度量方式源于分时复用系统。早在阿波罗登月舱的导航计算机中,idle thread 当时被叫做 “DUMMY JOB”,工程师通过比对运行 “DUMMY JOB” 和 “实际任务” 的时间来衡量导航系统的使用率。


 


2.如何真正辨别 CPU 在做些什么?

在 PMC(Performance Monitoring Counters) 的帮助下,我们能看到更多的 CPU 运行状态信息。这里我们重点关注的核心度量指标是 IPC(instructions per cycle),它表示平均每个 CPU cycle 执行的指令数量,很显然该数值越大性能越好。

 

3.CPU使用率引起误解的因素

(1)温度原因导致处理器 stall;

(2)Turboboost 干扰了时钟速率;

(3)内核使得时钟速率加快;

(4)平均带来的问题:1分钟利用率平均 80%,掩盖了中间 100% 部分;

(5)自旋锁: CPU 一直在被使用,同时 IPC 也很高,但是应用逻辑上并没有任何进展。

联系我们