CPU 锁定在最低频率,cpufreqd 说它无法管理它?

CPU 锁定在最低频率,cpufreqd 说它无法管理它?

我有一台 Dell Latitude D600,运行 CrunchBang Statler(基于 Debian Squeeze),配备 1.4GHz Pentium M。我注意到在 Conky 中,我的 CPU 频率停留在 600MHz,即使在执行 Flash 视频等 CPU 密集型操作时也是如此。所以我安装了 cpufreqd,运行 cpufreq-info,它返回了:

cpufrequtils 007: cpufreq-info (C) Dominik Brodowski 2004-2009
Report errors and bugs to [email protected], please.
analyzing CPU 0:
  driver: acpi-cpufreq
  CPUs which run at the same hardware frequency: 0
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency: 10.0 us.
  hardware limits: 600 MHz - 1.40 GHz
  available frequency steps: 1.40 GHz, 1.20 GHz, 1000 MHz, 800 MHz, 600 MHz
  available cpufreq governors: powersave, userspace, conservative, ondemand, performance
  current policy: frequency should be within 600 MHz and 600 MHz.
                  The governor "ondemand" may decide which speed to use
                  within this range.
  current CPU frequency is 600 MHz.
  cpufreq stats: 1.40 GHz:0.00%, 1.20 GHz:0.00%, 1000 MHz:0.00%, 800 MHz:0.00%, 600 MHz:100.00%

请注意有关“需要协调频率的 CPU”的部分。 CPUFreqD 似乎无法管理我的处理器频率,并且它还表示它保持在 600MHz 到 600MHz 的范围内。我打开了 SpeedStep,据说 2.6 对此有完全支持(我从 Wheezy 向后移植了 2.6.39),但我从未注意到 SpeedStep 做了任何事情。如果我禁用它,BIOS 会说我将卡在 600MHz。

电源没有问题,因为笔记本电脑没有电池;它仅依赖于电源线。如何启用处理器的全频? Linux 在频率上对我撒谎了吗?我对 Linux 有丰富的经验,所以我不害怕尝试复杂的修复。

答案1

一个月后,我运行 Arch Linux,发现了真正的问题及其解决方案。

我的 Dell D600 中没有电池,仅依靠交流适配器供电运行。当 BIOS 检测到没有安装电池时,它会永久降低 CPU 的频率,以避免交流适配器过载。

如果您想覆盖此行为,您所要做的就是添加processor.ignore_ppc=1到内核引导命令的末尾(通常在 GRUB 配置中找到)。然后您可以使用 acpi_cpufreq 驱动程序来正确启用 CPU 频率缩放。

或者你可以选择不便宜,买一块电池。这样也能解决问题。

答案2

信息“需要通过软件调整频率的CPU:0”完全没问题。这0意味着要控制的不是多个CPU,而是一个CPU列表- 在你的情况下只有一个,其编号是0

你读了吗man cpufreq-set?它告诉您如何设置minmax允许的 CPU 频率。另外,推荐的 cpufreq 调节器是conservative。只需更改为该设置,您就不需要运行额外的系统守护程序。

答案3

你实际上需要加载适当的电源模块,因为 Debian 通常不会自动加载它们。

检查我家里的 Squeeze 安装,有很多速度步可以加载的模块。我不确定您的特定机器需要哪些。您可以一一尝试。

-rw-r--r-- 1 root root  7500 Oct  3 17:07 speedstep-centrino.ko
-rw-r--r-- 1 root root  7120 Oct  3 17:07 speedstep-ich.ko
-rw-r--r-- 1 root root  6912 Oct  3 17:07 speedstep-lib.ko
-rw-r--r-- 1 root root  8152 Oct  3 17:07 speedstep-smi.ko

使用命令检查它们是否已加载lsmod | grep speedstep

相关内容