因此,由于某种原因,当启用 bdprochot 时,我的笔记本电脑会遭遇严重的限制问题,根据 cpufreq-info 显示,我的 CPU 从 2.8 上限降至 400 MHz,而根据 Windows 任务管理器显示,我的 CPU 从 2.6 上限降至 380 mhz。
它存在于 3 个不同的驱动器、7 次重新安装的 Windows 10 和 7 次重新安装的 3 个不同的 Linux 发行版中。我已在 steam OS、Ubuntu gamepack 和 Lubunt 上尝试过。在 Windows 中,我使用了节流阀停止,但在 Linux 上却不行。我使用外部风扇通过节流阀停止将 bdprochot 关闭,将温度降低到 40 度以下,即使没有它,我的温度上限通常为 67,平均为 50,因此我并不担心传闻中的 bdprochot 发热问题。
我尝试使用 msr tools 修复,但没有效果,我收到一条消息说
wrmsr: pwrite: Operation not permitted
。
这是一台笔记本电脑,因此没有 BIOS 电源设置。
我遵循了指南这里(引述如下)
我遇到了同样的问题,并找到了一个适合我的解决方案。您必须下载 cpufrequtils。
在终端中运行每个命令:注意:'-c' 参数表示核心数。如果您的 CPU 有四个核心,则运行给定的命令 0 到 3;如果您的 CPU 有八个核心,则运行给定的命令 0 到 7。
sudo cpufreq-set -c 0 -g performance sudo cpufreq-set -c 1 -g performance sudo cpufreq-set -c 2 -g performance sudo cpufreq-set -c 3 -g performance sudo cpufreq-set -c XX -g performance sudo modprobe msr sudo rdmsr 0x1FC
这里的 XX 是你的核心编号。完成此步骤后,你将得到一个输出,你需要记下它,然后在下一个命令中使用。
sudo wrmsr 0x1FC XXXXX
这里,XXXXX 是上一个命令执行的输出。最后,要检查它是否有效,请运行:
cpufreq-info
我排除了该行,因为它会导致错误输出
sudo cpufreq-set -c XX -g performance
这在基于 debrian 8: jessie 的 steam 操作系统上有效,但似乎在 lubuntu 上不起作用,它似乎只能编辑设置以进行性能
每次重新启动时,rdmsr 的输出都会发生变化。
每次启动时为了让我的电脑可用而处理所有这些命令也有点麻烦。
当我交换到 lubuntu 时,我将安全启动更改为开启,以便将启动文件添加到加载顺序,这可能是阻止 wrmsr 工作的原因。
即使这样,也无法改变该问题仍然存在的固有问题,以及每次启动时我都必须花时间在命令行上的事实,这是一个巨大的麻烦。
眼镜
型号 Acer Spin SP-513-51-51PB-N16W1
CPU Intel i5-6200U @2.3Ghz 双核 4 个逻辑核心
内存:16G DDR4
硬盘:NVMe m.2 ssd 1tb
显卡:英特尔 HD 520
操作系统:Windows 10 家庭版 Ver 1809 KB4497934 和 Lubuntu 18.04.2 双启动
- Ram 和 SSD 升级
答案1
解决 Ubuntu 中的 CPU 锁定问题
我遇到了同样的问题,CPU 卡在 0.79 GHz,您需要做的就是......
1)在 Ubuntu 20.04 上禁用 bd prochot
sudo apt-get install msrtool
sudo modprobe msr
sudo wrmsr 0x1FC 2
2)实时检查你的实际CPU频率:
sudo apt install i7z
sudo i7z
3)使用压力模拟 CPU 满负荷使用
sudo apt install stress
stress -c 8
答案2
当我在将近 2 年的休眠状态后重新安装 Linux Mint 时,我的 Dell 7558 笔记本电脑也遇到了同样的问题。插入电源时,CPU 频率保持在 500 MHz,但在电池供电下最高可达 2.7 GHz。(事实上,有时插入电源块实际上可以正常工作,而不会过度节流。但这是 1/20 或用一些压缩空气罐吹破连接器。也许问题出在有故障的连接器或电池上......)
无论如何,我在这里找到了一个简洁的脚本:
https://github.com/yyearth/turnoff-BD-PROCHOT/blob/master/bdprochot_off.sh
#!/bin/bash
# 4005d --> 4005e
# Slightly modified for root
/sbin/modprobe msr
r=`/usr/sbin/rdmsr 0x1FC`
s='0x'$r''
f=$(($s&0xFFFFE))
sudo /usr/sbin/wrmsr 0x1FC "obase=16;$f"|/usr/bin/bc
echo "$r"" write to ""reg 0x1FC"
echo "BD PROCHOT off."
问题是,该脚本需要导入第三方内核模块:msr。我相信您在运行此类代码之前已经通过运行安装了它
sudo apt -y install msr-tools
因此,您可以在任何启动后使用“sudo”运行脚本。但话又说回来,这有点笨拙,因为我们希望在启动时立即关闭此 bd-prochot。问题是,在启动时运行此脚本,例如使用带有“@reboot bd-prochot-off-script.sh”的 crontab 效果不佳,因为出于某种原因,使用带有第三方工具的“modprobe”有点被阻止。(但我不确定为什么)因此,不得不操纵一些模块加载内容
/etc/modules-load.d/
以 root 身份创建一个新的 conf 文件
sudo touch /etc/modules-load.d/msr.conf
并将‘msr’放入‘msr.conf’文件。
然后将上面的脚本添加到crontab中
sudo crontab -u root -e
作为..
@reboot /path/to/the/bd-prochot-off.sh
现在,CPU 节流问题不再发生。但话又说回来,我相信这只是一种解决方法。也许更换电池在“除掉邪恶根源”类型的解决方案方面效果更好。但话又说回来,截至目前(2020 年底),这台笔记本电脑还不是很出色,我不想在它报废之前花很多钱买它。
答案3
我假设您使用了 sudo,如脚本中所述,因此权限被拒绝不是由于缺少用户空间权限。
从https://github.com/tiziw/iuvolt/issues/11
在 credits 中链接的 notebookreview 线程中,有人指出,如果启用了安全启动,wrmsr 将不起作用,因为写入被用户空间阻止。
为了使其继续工作,您必须重新编译 msr 模块或重新编译整个内核(如果模块内置于内核)。您必须禁用安全启动或使用此处提到的补丁重新编译 msr。
带有“XX”的行不起作用,因为它只是作为示例存在。
答案4
解决 ubuntu 中的 CPU 锁定问题
sudo cpufreq-set -c 0 -g performance sudo cpufreq-set -c 1 -g performance sudo cpufreq-set -c 2 -g performance sudo cpufreq-set -c 3 -g performance sudo modprobe msr sudo wrmsr 0x1FC 17422
解决 Windows 中的 CPU 锁定问题
Just download throttlestop and Disable BD PROCHOT and Turbo
眼镜:
型号 # ASUS Vivobook s551ln
CPU Intel i7-4710U @2.6Ghz
内存:6 gig DDR3
硬盘:SSHD 1tb
GPU:Intel hd 440 + NVIDIA GeForce 840M
操作系统:Windows 10 home Ver 1809 KB4497934 和 Lubuntu 19.10 双启动