计算机实际上用它的空闲 CPU 周期做什么?

use*_*177 10 linux cpu scheduling

当计算机未满负荷运行时,在 Linux 环境中,它实际上做了什么?在调度线程之间,如果无事可做,是否自旋等待?它是否进入某种睡眠状态?

当一台计算机报告它处于 20% 的负载时,这是否真的意味着(给予或接受)它 80% 的时间什么都不做?

cot*_*eyr 7

是的,您的处理器执行 NOP(无操作)或 HLT

Linux 使用空闲进程。该任务除了发送 HLT 之外什么都不做,并且在无事可做的情况下使 CPU 使用更少的功率和热量。然后当有工作要做时,CPU“重新启动”并开始工作。

现在,请记住,在此之前,Linux 调度程序将执行“它可以执行的任何工作”。这种 HLTing 也发生得非常快。