我在系统上运行 Ubuntu 10.10 64 位,该系统的 AMD Phenom II X2 550 CPU 超频至 3.5ghz(从默认的 3.1ghz)。
当我使用 k9copy/mencoder 执行 Xvid 编码并使用检查 CPU 的速度时cat /proc/cpuinfo
,两个核心似乎都没有超过 2400mhz(有时会因为 AMD Cool'n'Quiet 而更低)。
假设这是真实的速度,那么如何确保处理器在执行 CPU 密集型任务(例如视频编码)时全速运行?
编辑-以下是一些进一步的信息:
william@optimus:/usr/bin$ sudo dmesg | grep "powernow" [0.985857] powernow-k8: 发现 1 个 AMD Phenom(tm) II X2 550 处理器 (2 个 CPU 核心) (版本 2.20.00) [0.985885]powernow-k8:0:pstate 0(3500兆赫) [0.985886]powernow-k8:1:pstate 1(2400兆赫) [0.985887]powernow-k8:2:pstate 2(1900兆赫) [0.985888]powernow-k8:3:pstate 3(800兆赫) william@optimus:/usr/bin$ sudo dmidecode | grep "最大速度" 最大速度:3200 MHz
william@optimus:/sys/devices/system/cpu/cpu0/cpufreq/ondemand$ cpufreq-info cpufrequtils 007:cpufreq 信息 (C) Dominik Brodowski 2004-2009 向以下机构报告错误和缺陷[电子邮件保护], 请。 分析CPU 0: 驱动程序:powernow-k8 以相同硬件频率运行的 CPU:0 需要通过软件协调频率的 CPU:0 最大转换延迟:8.0 us。 硬件限制:800 MHz - 3.50 GHz 可用频率步进:3.50 GHz、2.40 GHz、1.90 GHz、800 MHz 可用的 cpufreq 调节器:保守、按需、用户空间、省电、性能 目前的政策:频率应该在800MHz和3.10GHz之间。 州长可以“按需”决定使用哪种速度 在此范围内。 当前 CPU 频率为 800 MHz。 cpufreq 统计:3.50 GHz:0.00%,2.40 GHz:5.63%,1.90 GHz:1.63%,800 MHz:92.74% (109352) 分析CPU 1: 驱动程序:powernow-k8 以相同硬件频率运行的 CPU:1 需要通过软件协调频率的 CPU:1 最大转换延迟:8.0 us。 硬件限制:800 MHz - 3.50 GHz 可用频率步进:3.50 GHz、2.40 GHz、1.90 GHz、800 MHz 可用的 cpufreq 调节器:保守、按需、用户空间、省电、性能 目前的政策:频率应该在800MHz和3.10GHz之间。 州长可以“按需”决定使用哪种速度 在此范围内。 当前 CPU 频率为 800 MHz。 cpufreq 统计:3.50 GHz:0.00%,2.40 GHz:8.58%,1.90 GHz:2.47%,800 MHz:88.95% (76452)
答案1
您的 CPU 扩展调节器可能设置为“按需”(您可以通过查看 进行检查/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
)。同样,您可以通过比较/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
和来检查扩展速度/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
。
“按需”频率缩放器对于某些工作负载来说并不好用,我发现编码就是其中之一。 中有许多可调参数/sys/devices/system/cpu/cpu0/cpufreq/ondemand
可能有帮助,尤其是up_threshold
。对于一台机器,我将其设置为20
,这似乎有帮助。
在更极端的情况下,你可以用“性能”替换频率缩放器,这将强制最大 CPU 频率:
for i in /sys/devices/system/cpu/cpu*; do echo performance | sudo tee $i/cpufreq/scaling_governor; done
答案2
在 BIOS 中禁用 Cool'n'Quiet 也能始终确保 CPU 以最大频率运行。但如果您想节省电量,则可能需要将其保持打开状态。