CPU 频率始终处于最低水平,即使 CPU 使用率为 100%

CPU 频率始终处于最低水平,即使 CPU 使用率为 100%

我不知道这个问题是什么时候开始出现的,可能是从我安装 Ubuntu(16.04,全新)开始的。我发现 Ubuntu 运行异常缓慢,环境不稳定,即使在空闲时 CPU 使用率也很高,起初我以为是某个程序拖慢了它的速度。

过了一段时间,我终于搞清楚了是什么原因造成的,CPU 频率设置为 800 MHz,无论什么情况,都不停地运行。最大频率应该是 3100 MHz(Turbo-boost 模式),通常为 2000 MHz。我故意将 CPU 使用率(2 个内核上的所有 4 个线程)设置为 100%,方法是让 Blender 在 CPU 上渲染一些内容,它仍然保持在 800 MHz。

我尝试过设置最大性能配置文件,但仍然很低。我测试了温度,似乎一直都是 60°C,87°C 被认为是高温,105°C 是临界温度。我一直使用交流电,电池似乎从前段时间开始就没有充电。

报道内容如下cpufreq-info

 driver: intel_pstate
 CPUs which run at the same hardware frequency: 0
 CPUs which need to have their frequency coordinated by software: 0
 maximum transition latency: 0.97 ms.
 hardware limits: 800 MHz - 3.10 GHz
 available cpufreq governors: performance, powersave
 current policy: frequency should be within 2.00 GHz and 3.10 GHz.
                 The governor "performance" may decide which speed to use
                 within this range
 current CPU frequency is 800 MHz (asserted by call to hardware).

其它3个CPU单元也同样如此。

报道内容如下lscpu

Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                4
On-line CPU(s) list:   0-3
Thread(s) per core:    2
Core(s) per socket:    2
Socket(s):             1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 58
Model name:            Intel(R) Core(TM) i7-3537U CPU @ 2.00GHz
Stepping:              9
CPU MHz:               799.921
CPU max MHz:           3100,0000
CPU min MHz:           800,0000
BogoMIPS:              3990.99
Virtualization:        VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              4096K
NUMA node0 CPU(s):     0-3
Flags:                 fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm epb tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms xsaveopt dtherm ida arat pln pts

在省电模式下,它的行为相同。如果我断开交流电源并使用电池供电,CPU 频率会飙升至 2800 MHz,因此这似乎只是交流电源的问题(这与它应该做的事情完全相反)。

我尝试设置更改 CPU 配置文件,尝试禁用频率缩放(如何禁用 CPU 频率调整并将系统设置为性能?),我尝试将 /sys/devices/system/cpu/cpu[0-3]/cpufreq 中的 scaling_min_freq 设置为更高的值,但它们都不起作用。频率仍然很小。

CPU类型为Intel(R) Core(TM) i7-3537U CPU @ 2.00GHz,计算机为Dell Inspiron 15z Touch。

我还遇到了电池无法充电的问题,即使计算机由交流适配器供电。

更多诊断:

$ sudo rdmsr --bitfield 15:8 -d -a 0x198
8
8
8
8
$ sudo rdmsr --bitfield 15:8 -d -a 0x199
9
8
9
9

对于 0x199 来说,数字 8 和 9 似乎在连续调用之间随机排列。

答案1

事实证明,这个问题与 intel_pstate 驱动程序无关,因为另一个驱动程序 acpi_cpufreq 报告了更好的值,但从未设置它们。操作系统可能无法控制这一点。

这是某些戴尔笔记本电脑在充电中断时出现的问题,笔记本电脑由交流电供电但未充电。修复硬件问题可以消除此问题。在这种情况下,电源连接器中几乎看不见的一块布阻止了电接触。

编辑:提出问题 7 年后,bugzilla 上出现了一个关于为什么会发生这种情况的解释

答案2

有时我的笔记本电脑会完全忽略 cpufreq 设置。我发现这个有效:

拔下电源线并重新插入。已修复:)

我猜测原因是机器产生了混淆:它以为使用的是电池,又以为电池电量低,因此它降低 CPU 频率以节省电量。

我们只需要让它知道它实际上已插入并且运行良好。

(此处为华硕 x453m 笔记本电脑,Ubuntu 14.04) YouTube:您是否尝试过将其关闭然后重新打开?

答案3

我的 ThinkPad T520 也遇到了同样的问题。在尝试了互联网上找到的所有解决方案后,我准备重新安装 Ubuntu。但后来我检查了 Windows 中的 CPU 频率,发现它也被限制在 800 MHz。

所以这看起来像是硬件问题。CPU 冷却问题并不明显,因为冷却器转速较低,笔记本电脑外壳不热,甚至不热。

由于没有其他选择,我拆开了笔记本电脑,更换了 CPU 和 GPU 芯片中的热界面油脂。你知道吗?这很有帮助!

我的一个 Django 项目的单元测试执行时间原来是 45 分钟,现在是 11 分钟。

因此,如果您遇到类似的问题,尤其是在笔记本电脑上 — 可能是因为库存热界面变干 — 3-5 年后它通常会停止工作。不要被干净的散热器、静音的冷却器和凉爽的笔记本电脑机身所欺骗。

答案4

我遇到了同样的问题 - 在笔记本电脑仍处于开机状态且手提箱过热关机后,Ubuntu 和 Windows 中的 CPU 频率都卡住了。

我进入 BIOS,在“电源”中禁用 CPU 电源管理,并将其他所有设置调至最大速度(最大性能)。重新启动,恢复全速,然后返回 BIOS,再次启用 CPU 管理,并更正我之前更改的其他设置。大功告成!

编辑:原来是电池问题。如果电池电量真的很低,CPU 就不会加速(我猜是为了省电)。在我的 ThinkPad 上,我必须给电池充电几分钟,直到充电 LED 停止快速闪烁,然后我才能再次打开机器。

相关内容