我正在寻找一些程序来设置 CPU 的最大 TDP,就像我们在 Windows 上的 Intel XTU 中所做的那样。我可以通过这个项目降低 CPU 的电压。我还可以使用这个优秀的项目来监控 CPU 的 TDP 。我在 Internet 上搜索过任何此类程序,但找不到。
编辑1:
我的系统有一个 Core i7-9750H CPU,最大 TDP 由 OEM 设置为 60 瓦,在内核 4.18.20-041820-generic 的 Ubuntu 18.04LTS 上运行。
编辑 2
我已将内核更新为 5.3.0-46-generic (signed),输出sudo turbostat --Summary --interval 5 --show Avg_MHz,Busy%,Bzy_MHz,IRQ,PkgTmp,PkgWatt,GFXWatt
如下:
...
cpu0: MSR_RAPL_POWER_UNIT: 0x000a0e03 (0.125000 Watts, 0.000061 Joules, 0.000977 sec.)
cpu0: MSR_PKG_POWER_INFO: 0x00000168 (45 W TDP, RAPL 0 - 0 W, 0.000000 sec.)
cpu0: MSR_PKG_POWER_LIMIT: 0x42835800dd8230 (UNlocked)
cpu0: PKG Limit #1: ENabled (70.000000 Watts, 28.000000 sec, clamp ENabled)
cpu0: PKG Limit #2: ENabled (107.000000 Watts, 0.002441* sec, clamp DISabled)
...
的输出rdmsr --bitfield 14:0 -d 0x610
为 560。这意味着最大输出为 0.125 * 560 = 70 瓦
的输出sudo rdmsr 0x610
是 42835800dd8230。
您能否详细说明计算@doug-smythies
对于您的处理器Core i7 9750H,默认 TDP 为 45 瓦。如果您的处理器支持它,您可以调整 TDP。
方法一
本例使用 i5-9600K。首先我使用 turbostat(linux-tools-common 包)来查看 TDP 现在是什么,以及比例因子是什么:所以,我们知道比例因子是 0.125 瓦,而且似乎有人已经将功率限制从默认的 95 调整到了 100 瓦,但是让我们通过直接读取 MSR 来检查:
请注意,我读了两次寄存器,一次是十六进制(以 16 为底),一次是十进制(以 10 为底)。
800 * 0.125 = 100 瓦。
现在,假设我想让它变成 50 瓦,首先再次读取寄存器,但保留所有内容:
现在更改适当的位字段(从上面的 14 到 0)。对于最低有效 16 位,我们有:
取出 0x320(800 base 10)并放入 50 / 0.125 = 400 = 0x190:
并用 turbostat 检查它:
参考:英特尔 SDM
方法二
实际上有一个更简单的方法:
查看确定是否可以使用此方法:
注意启用线和当前值(如上所示):
现在更改它并检查:
并检查 turbostat:
请注意,在另一台计算机上,即使处理器未锁定并且位置显示为根可写,这些东西也不起作用(任何一种方法):