更改涡轮增压比率限制

更改涡轮增压比率限制

我对 ubuntu 还不熟悉,但我想更改涡轮增压比限制。在 Windows 中,这很容易,因为有 ThrottleStop。我在 GitHub 上找到了欠压,但我想为 turbo 设置乘数。我还发现某物关于乘数,但是它需要一些 msr 修改,我不明白该如何做。

答案1

使用此答案需要您自担风险。
此答案使用 Intel(R) Core(TM) i5-10600K 作为示例。寄存器地址对于 i7-4700MQ 应该相同。
注意:如果您的内核足够新,则对 MSR(机器特定寄存器)的写访问将被禁用,需要msr.allow_writes=on将其添加到您的/etc/default/grub命令行中GRUB_CMDLINE_LINUX_DEFAULT
先决条件:已加载 msr-tools、turbostat 和 msr 模块。

仅当 MSR_PLATFORM_INFO(0CEH)第 28 位为 0 时,才可读取 MSR_TURBO_RATIO_LIMIT(1ADH),但如果第 28 位为 1,则可以读/写。

示例方法 1:

$ sudo modprobe msr
$ sudo rdmsr --bitfield 28:28 0x0ce
1

示例方法 2,使用 turbostat 读取寄存器并自行解码。现在还列出观察 turbo 比率的方法 2:

$ sudo turbostat
turbostat version 21.05.04 - Len Brown <[email protected]>
...
cpu2: MSR_PLATFORM_INFO: 0x808083af1012900
...
cpu2: MSR_TURBO_RATIO_LIMIT: 0x303030303030
48 * 100.0 = 4800.0 MHz max turbo 6 active cores
48 * 100.0 = 4800.0 MHz max turbo 5 active cores
48 * 100.0 = 4800.0 MHz max turbo 4 active cores
48 * 100.0 = 4800.0 MHz max turbo 3 active cores
48 * 100.0 = 4800.0 MHz max turbo 2 active cores
48 * 100.0 = 4800.0 MHz max turbo 1 active cores
...

因此,我可以更改涡轮增压比。目前涡轮增压比是多少?方法 2,上面列出并解码了涡轮增压器,这可能是最简单的。方法 1:

$ sudo rdmsr 0x1AD
303030303030

每个活动核心数 8 个字节,以 1 开始,或者全部为 48。所以假设我想将 6 个活动核心更改为 47,或 2FH:

$ sudo wrmsr 0x1AD 0x2f3030303030
$ sudo rdmsr 0x1AD
2f3030303030

也可以通过 turbostat 检查:

$ sudo turbostat
...
cpu10: MSR_TURBO_RATIO_LIMIT: 0x2f3030303030
47 * 100.0 = 4700.0 MHz max turbo 6 active cores
48 * 100.0 = 4800.0 MHz max turbo 5 active cores
48 * 100.0 = 4800.0 MHz max turbo 4 active cores
48 * 100.0 = 4800.0 MHz max turbo 3 active cores
48 * 100.0 = 4800.0 MHz max turbo 2 active cores
48 * 100.0 = 4800.0 MHz max turbo 1 active cores

注意:某些处理器型号列出的涡轮增压比比其实际拥有的核心数更多。i5-9600K 示例:

cpu5: MSR_TURBO_RATIO_LIMIT: 0x2b2b2e2e2e2e2e2e
43 * 100.0 = 4300.0 MHz max turbo 8 active cores << I only have 6 cores
43 * 100.0 = 4300.0 MHz max turbo 7 active cores << I only have 6 cores
46 * 100.0 = 4600.0 MHz max turbo 6 active cores
46 * 100.0 = 4600.0 MHz max turbo 5 active cores
46 * 100.0 = 4600.0 MHz max turbo 4 active cores
46 * 100.0 = 4600.0 MHz max turbo 3 active cores
46 * 100.0 = 4600.0 MHz max turbo 2 active cores
46 * 100.0 = 4600.0 MHz max turbo 1 active cores

可以忽略该信息。

相关内容