处理器频率上限为 800Mhz

处理器频率上限为 800Mhz

当我执行一些导致 CPU 峰值的操作时,系统似乎会限制 CPU 以防止过热。这很好。但是,当我停止、完成或关闭正在消耗 CPU 的程序或进程时,似乎限制从未解除。

我的处理器上限为 800Mhz,不会超过。

我努力了:

  1. 重新插上电源线。但没有任何改变。
  2. 重新启动计算机。这可以解决问题,但我不想每次都这样做。

当然,很少有应用程序和程序会导致这种情况发生。但是当我玩游戏时,就会发生这种情况。

我的电脑是华硕 UX550VE,配备 i7700、16GB 内存和 1050ti,运行的是 Ubuntu 16.04 LTS

是什么原因造成的?我该如何解决?每次发生这种情况时都必须重新启动,这很烦人。

答案1

下面使用了以下命令.gif

time sudo updatedb # See 8 CPUs run at 3.5 GHz. Then set 800 MHz Below
echo 800000 | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_max_freq
time sudo updatedb # See 8 CPUs run at 800 Mhz. Then set 3.5 GHz Below
echo 3500000 | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_max_freq
time sudo updatedb # Time is 3.5 seconds instead of 13.8 seconds

cpu 800 MHz 演示.gif

长话短说,首先找出 CPU 速度受限制之前的最大速度:

rick@alien:~$ cd /sys/devices/system/cpu/cpu0/cpufreq/
───────────────────────────────────────────────────────────────────────────────────────────
rick@alien:/sys/devices/system/cpu/cpu0/cpufreq$ grep -r .
energy_performance_available_preferences:default performance balance_performance balance_power power 
scaling_min_freq:800000
scaling_available_governors:performance powersave
scaling_governor:performance
cpuinfo_max_freq:3500000
related_cpus:0
scaling_cur_freq:3218768
scaling_setspeed:<unsupported>
affected_cpus:0
scaling_max_freq:3500000
cpuinfo_transition_latency:0
energy_performance_preference:performance
scaling_driver:intel_pstate
cpuinfo_min_freq:800000

注意上面的行:cpuinfo_max_freq:35000003,500.000 MHz 是我的处理器的最大速度。因此,要恢复最大速度,我使用:

echo 3500000 | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_max_freq

大多数人都是一个接一个地做,有些人说不可能一次完成所有任务,但我从来没有遇到过同时处理所有 8 个 CPU 的问题。如果你想一次处理一个,你可以使用:

echo 3500000 | sudo tee /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
echo 3500000 | sudo tee /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq
         ( etc., etc., etc. )
echo 3500000 | sudo tee /sys/devices/system/cpu/cpu7/cpufreq/scaling_max_freq

这会将您的 CPU 恢复到最大速度,但我们仍然需要找出哪个软件包将您的 CPU 设置为 800 MHz。

答案2

不使用充电器,仅使用电池运行时,CPU 是否仍会达到 800 MHz 的上限?我的室友也遇到过类似的问题(在 Windows 上),连接到充电器时 CPU 大约为 800 MHz,不使用充电器时,CPU 运行良好。这是因为充电器故障,无法提供正确的电压。

答案3

我上一份工作(Windows)时就遇到过这个问题,每隔 6 个月左右,我们就会把所有笔记本电脑都放到空气压缩机下,然后吹掉风扇。戴尔型号或我们所有人使用的英特尔 CPU 似乎都容易出现这种情况。这是由过热引起的。我们永远无法弄清楚节流器卡住的原因,但定期保持清洁似乎可以防止这种情况发生。一旦有人的笔记本电脑再次出现故障,我们都会去使用压缩机,因为我们知道它们很快就会开始出现故障。

如果清理风扇没有帮助,请确保风扇运转良好,并且没有任何阻碍。可能是导热膏没有发挥作用,或者风扇/散热器与 CPU 的同步不够紧密。

答案4

您应该注意笔记本电脑的温度。使用 lm-sensors:

sudo apt-get install lm-sensors

然后,开始检测硬件传感器:

sudo sensors-detect

验证其是否有效:

sensors

它应该显示类似这样的内容:

coretemp-isa-0000
Adapter: ISA adapter
Core 0:      +46.0C  (high = +76.0C, crit = +100.0C)

coretemp-isa-0001
Adapter: ISA adapter
Core 1:      +44.0C  (high = +76.0C, crit = +100.0C)

我很确定这是节流问题。你需要使用软件,并增加节流开始降低 CPU 频率的温度。

相关内容