(搭载 Kubuntu 20.04 的联想 x260)CPU 随机卡在 400MHz CPU 负载为 100% - 当前 CPU 频率:400 MHz(通过调用内核声明)

(搭载 Kubuntu 20.04 的联想 x260)CPU 随机卡在 400MHz CPU 负载为 100% - 当前 CPU 频率:400 MHz(通过调用内核声明)

在我的笔记本电脑上安装 Kubuntu 20.04 后,我遇到了一个问题,一段时间后,CPU 随机卡在 400MHz 并且无法加速,导致响应时间非常慢。上网,甚至写文档都变得很麻烦。

我检查了很多页面(有些报告说这可能是内核错误)并尝试了不同的方法,例如:

  • 现在总共重新安装了电脑 6-8 次(几天后又会发生这种情况)

  • 禁用 thermald 服务:

    systemctl disable thermald.service
    
  • 禁用 intel_pstate /etc/default/grub

    GRUB_CMDLINE_LINUX_DEFAULT="intel_pstate=disable"
    
  • 将 CPU 调节器设置为性能:

    GOVERNOR="performance"
    
  • 将所有 CPU 设置为最大值:

    cpupower frequency-set -d `cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq`
    

    或者

    cpupower frequency-set -d 2.5GHz
    
  • 我安装了“Intel P-State 和 CPUFreq Manager”KDE Widget 来监控和调整所有内容,使其达到高性能,没有任何影响

    处理器设置

硬件和软件信息:

$ cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_driver
intel_pstate
intel_pstate
intel_pstate
intel_pstate


$ cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
performance
performance
performance
performance

$ cpupower frequency-info
analyzing CPU 0:
  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:  Cannot determine or is not supported.
  hardware limits: 400 MHz - 3.10 GHz
  available cpufreq governors: performance powersave
  current policy: frequency should be within 3.10 GHz and 3.10 GHz.
                  The governor "performance" may decide which speed to use
                  within this range.
  current CPU frequency: Unable to call hardware
  current CPU frequency: 400 MHz (asserted by call to kernel)
  boost state support:
    Supported: yes
    Active: yes

$ grep "model name" /proc/cpuinfo
model name      : Intel(R) Core(TM) i7-6500U CPU @ 2.50GHz
model name      : Intel(R) Core(TM) i7-6500U CPU @ 2.50GHz
model name      : Intel(R) Core(TM) i7-6500U CPU @ 2.50GHz
model name      : Intel(R) Core(TM) i7-6500U CPU @ 2.50GHz

$ uname -a
Linux kubu 5.4.0-42-generic #46-Ubuntu SMP Fri Jul 10 00:24:02 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

请帮忙。我试过了,但真的很令人沮丧,我不知道还能尝试什么 :(

答案1

我在 Dell Latitude 7490 上遇到了完全相同的问题;频率随机卡在/固定在 400Mhz,有时是在从使用电池的挂起状态恢复后,或者在拔下交流适配器时。热重启也不会消失此问题。我必须完全关闭机器并重新打开,或重新插入交流适配器。当问题发生时,我对 Windows 进行了热重启(因为我正在双启动 Kubuntu 20.04 和 Windows 10),发现 Windows 10 也卡在 400mhz 频率。

最后发现这是硬件或固件相关的问题。截至目前的最新 BIOS(BIOS 日期为 2021 年 2 月)

按照戴尔另一篇文章中的建议进行了 RTC 重置(实时时钟重置),但拔下交流适配器时问题偶尔会出现。在 BIOS 中禁用 C 状态和英特尔 Speed Shift(仅启用 SpeedStep),问题仍然偶尔发生,所以我重新启用了它们。

最后,我找到了一种基于软件的解决方法,不需要重新插入交流适配器或冷启动。

在您的路径中创建名为 cpufix 的脚本:

$ sudo nano /usr/local/bin/cpufix

内容如下:

#!/bin/bash

# Determinate CPU capabilities
MAX_CPU=$(cpupower frequency-info -l | tail -n1 | cut -d' ' -f2)

# Disable "BD PROCHOT" 
wrmsr -a 0x1FC 262238;

# Set and apply frequencies
cpupower frequency-set \
  -d $(expr $MAX_CPU / 4) \
  -u $MAX_CPU \
  -r \
  -g powersave;

然后将其设置为可执行文件:

$ sudo chmod +x /usr/local/bin/cpufix

您还可以更改“节能“ 在上面最后一行中表现“如果您希望在使用电池供电时获得更高的性能,而不是正常的省电配置。

当问题发生并且您的频率固定在 400Mhz 时,只需运行:

$ sudo cpufix

在 Windows 中(如果您也是双启动),您可以执行类似操作“油门停止“程序,并取消选中“BD PROCHOT”复选框(如果已选中)(当您的 CPU 由于制造商固件问题而固定在 400Mhz 时可能会发生这种情况)

答案2

我认为这可能与以下未解决的问题有关thermaldhttps://github.com/intel/thermal_daemon/issues/293

我看到了这个问题Dell Latitude 7320,这几个命令暂时修复了它(直到下次重启):

sudo rmmod intel_rapl_msr
sudo modprobe intel_rapl_msr

如果您想让它们在每次启动时运行,您可以将它们添加到您的初始化脚本中。

相关内容