我有一台双启动 MacBook(2008 年末),运行 Mac OS 10.9 和 NixOS。我观察到,在类似的条件下,仅打开一两个应用程序且不执行任何计算,NixOS 下的 CPU 温度比 Mac OS 下高 5-10 °C。这甚至可以通过触摸感受到。
在我的 NixOS 配置中,我有
powerManagement.enable = true
powerManagement.cpuFreqGovernor = "powersave";
这是 Linux 内核效率低下的结果,还是我在 NixOS 下缺少一些配置选项,或者是 NixOS 的错误?
更新于 2018 年 9 月 2 日。
这个能耗问题可能不是 NixOS 所特有的,而是 MacBook 上的 Linux 的普遍问题,如本文中所述“Mac 上的 Linux?”红迪线程。
然而,这看起来很奇怪:我安装了系统监视器 GNOME shell 扩展,可以观察到在空闲状态下,CPU 使用率在 1% 到 2% 之间波动,而 CPU 核心温度仍然保持在 60 °C 以上(在室温约 25 °C),风扇转速为 2000 rpm。
CPU 只使用了 1-2% 的情况下,什么会消耗如此多的电量?
更新于 2019 年 2 月 3 日。
事实证明,这与(缺乏)专有的 NVidia 驱动程序有关。
答案1
我想我已经理解了问题的根源,尽管我没有设法正确地测试我的解释。
首先,我想注意一下设置
powerManagement.cpuFreqGovernor = "powersave";
在我的机器上出现错误。根据输出
cpupower frequency-info
我的机器上唯一可用的调节器是performance
和schedutil
。我已经设置了
powerManagement.cpuFreqGovernor = "schedutil";
看来这稍微降低了CPU的温度。
然而,事实证明这并不是主要问题。
我最近在这台机器上安装了 Linux Mint 和 Manjaro,并注意到在这两个系统下,CPU 温度保持与 Mac OS 下一样低,甚至更低。事实证明,差异是由于专有的 NVidia 驱动程序造成的。我在 NixOS 上没有nvidia
驱动程序(因为有问题),但我首先在 Linux Mint 和 Manjaro 上安装了它。当我意识到nvidia
驱动程序破坏了屏幕亮度键和虚拟控制台时,我将其删除,闲置计算机上的 CPU 温度上升了 10 或 15°C。
我的结论是,在我的机器上,一些开源视频驱动程序会导致高功耗。