据统计大部分服务器在 85% 的时间里一直处于空闲状态,但是处理器仍然保持运行。换句话说,处理器始终在寻找并执行任务 — 有时甚至达到每秒 1,000 次。只要系统时钟不变,处理器就一直处于全速运行状态。
Green Linux Workgroup 及其合作伙伴的一个关键进展就是研发了无滴答内核。如前所述,在空闲状态下,GNU/Linux 内核会一直寻找可执行的任务。通常,一个内核每 4ms 就会引发一个时钟中断,以检查是否需要调度新的任务。内核 2.6.21 引入了无滴答内核,它将在需要调度新任务时执行计算并在这个时间设置一个时钟中断,允许处理器在更长的时间内(几秒钟)保持在最低功耗状态,从而减少了电能消耗。
尽管无滴答内核在默认情况下都会被启用,您可以尝试使用以下命令查看它是否被启动:
bash$ cat /boot/config-$(uname -r) | grep CONFIG_NO_HZ
CONFIG_NO_HZ=y
如果输出为 CONFIG_NO_HZ=y,则无滴答内核被启用;而 CONFIG_NO_HZ=n 意味着未启用。