Linux 是否比 Windows 省电?

冷知识,在通用计算机上省电主要取决于电源管理的模式。在合适的时候降低功耗,甚至休眠,就是最省电的。

假设在同样的任务下,都能发挥类似的硬件性能。那么功耗就是相似的,区别就不会很明显。除非说:

  • 播放视频时,一个能正常调度硬件解码。另一个不行,回退到软解。那就会有明显的功耗差距。
  • 玩同一个游戏。后端图形 API 一个用 Vulkan,一个用 OpenGL。那也会有功耗差距。

还有就是你哪个系统的背景“噪音”太多,也会导致差距。这些后台任务频繁的轮询 CPU,会影响电影管理策略。例如延迟进入节能模式,或从节能/休眠中频繁的唤醒。除此之外,所谓省电完全就是开头说的电源管理占大头。

Linux 的任务调度、频率调速,是可以修改的。例如我这边是 pstate + ondemand,是我测试下来性能和功耗表现最均衡的。甚至 Linux 的调度是可以自行“定制”的。sched_ext 能让用户态的调度算法(BPF 程序)参与进来,理论上可以给节能方面做出更适合自己的定制。现在的游戏系统(如 CachyOS)和一些服务器集群,就有自己开发调度。

顺便提一下,这方面过去有一个经典的例子就是 Android 和 Linux 的矛盾。那时候 Google 发明了一个叫 wakelocks(唤醒锁)的东西,系统默认会主动、激进地挂起,不需要谁来触发。一旦没有进程或驱动持有 wakelock,内核随时挂起整个系统。应用/驱动需要显式申请一个 wakelock 才能"按住"系统不让它睡(比如正在放音乐、正在下载、正在响铃)。

这就是最“省电”的策略。但很可惜它不适用于 PC,并且也不太 Linux。那时候 Linux 是按下电源键或者系统空闲超时,内核才会挂起。Google 这一套绕开了内核现有的电源管理框架,并不是某种协作,而且仅适用于手机。这就是当时 Android 和 Linux 矛盾的导火索之一。

后来还有一个东西叫 EAS 调度,你们可以了解一下。早期是 Pixel 手机系统的内核才有的东西(现在已经普及了),但能被移植出来。我就亲自体验过,同期我的原版内核,无论怎么轻度使用,手机的深度休眠总是只能在 70%。但 EAS 可以让你达到 95%,实际续航表现延长了接近一倍(在非常轻度使用的情况下)。

编辑于 2026-06-19 · 著作权归作者所有