Sco*_*_80 12 cpufreq amd-processor
我有一台较旧的笔记本电脑,用作电视上的媒体中心,我通常会安装/重新安装/卸载不同的操作系统和应用程序,以使其尽可能流畅地运行。
我注意到的一件事很奇怪。我的笔记本电脑是 HP Pavilion G62,它有一个运行在 1800mhz 的三核 AMD 处理器。当我从 Windows 7 启动 XBMC 并查看处理器速度时,它清楚地显示为 1800mhz。但是,当我从启动器或会话中从 Ubuntu 启动它时,它说处理器只有 800mhz。
我想进一步调查,所以我在 Windows 中加载了 DXDIAG 以查看速度。果然,说明是1800mhz。但是,在Ubuntu中启动HardInfo时,它告诉我每个核心的速度如下:1500mhz、1500mhz和800mhz。
这是否意味着广告的处理器速度和 Windows 检测到的速度都在撒谎或四舍五入?或者 Ubuntu 检测我的处理器速度是否存在问题,并且我的系统没有达到应有的最佳运行状态?我倾向于说后者……主要是因为 Windows 的运行似乎比 Ubuntu 流畅得多。
Syl*_*eau 11
默认情况下,Ubuntu 使用按需频率调控器。要检查/切换调控器,请cpufrequtils像这样安装软件包:
sudo apt-get install cpufrequtils
Run Code Online (Sandbox Code Playgroud)
要检查每个核心运行的当前速度/调节器:
cpufreq-info
Run Code Online (Sandbox Code Playgroud)
您可以将所有内核设置为性能,如下所示:
sudo cpufreq-set -r -g performance
Run Code Online (Sandbox Code Playgroud)
您可以确认所有内核现在都以最大频率运行,如下所示:
grep MHz /proc/cpuinfo
Run Code Online (Sandbox Code Playgroud)
注意:此更改是暂时的。重新启动后,它将恢复为ondemand。
Ser*_*gey 10
理论背景:在典型的计算机中,CPU 大部分时间都处于空闲状态。为了省电,现代 CPU 实现了频率缩放- 即操作系统可以告诉 CPU 在负载较低时切换到较低的频率。该技术在 Intel 处理器中称为 SpeedStep,在 AMD 处理器中称为 Cool'n'Quiet。
在 Linux 内核中,频率缩放是由cpufreq基础设施实现的,它使用“调节器”的概念来控制频率。
默认的调控器是“ondemand”,一旦处理器利用率提高到 95% 以上,它就会增加频率。这允许 CPU 在空闲时节省一些电量,而在有事情要做时切换到全性能。有一些转换延迟,以毫秒为单位,所以当一个空闲的 CPU 突然负载很大时,它会在切换到全功率之前继续以低频率突进几毫秒,所以在某些情况下,这可能会导致性能略低于始终全速运行。
还有其他调控器,包括始终以全频率运行 CPU 的“性能”调控器。这消除了切换延迟,但可能会增加功耗。
您可以按照另一个答案中的建议尝试使用不同的州长,但我怀疑它会产生戏剧性的结果。除非在 99% 的情况下有意义,否则他们不会将其设为默认值:)
不过,回到您的问题: Windows 最有可能向您显示最大可能的 CPU 频率(它们在 CPU 的盒子上做广告的频率),而 Ubuntu 向您显示每个 CPU 内核在这个特定时刻运行的实际频率。这并不意味着 CPU 在 Ubuntu 中运行速度较慢。如果 Ubuntu 在您的笔记本电脑上运行缓慢,那很可能是由其他原因引起的 - 例如,内存不足、硬盘驱动器缓慢等。现代 Ubuntu 肯定需要比 Windows XP 更多的资源一台较旧的笔记本电脑。
更多技术阅读: