我在 i9-9900KF CPU 上有一个新的 Ubuntu 18.04 服务器,我想做一些繁重的计算。由于它有 16 个线程,我将所有 16 个线程都更改/sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
为性能模式并停止按需服务,sudo systemctl disable ondemand
以便在重新启动后它会卡住(确实如此)。
结果令人费解。在更改之前(在省电调速器下),空闲时的频率为 800MHz(如预期的scaling_min_freq
值)和负载下的 4700MHz(scaling_max_freq
值为5000000
)。
更改后,空闲频率如预期在5000MHz,但在负载下,它又是4700MHz......?因此,在负载下,调节器设置是什么并不重要,但使用性能调节器,空闲频率会更高。
这可能是什么原因造成的?我的电源单元应该适合 600W,而我只有主板、双风扇水冷器、M2 SSD 和 4 风扇机箱(所以我认为这里的电源应该不是问题......?)。
通常,最大 CPU 时钟频率是活动内核数量的函数。
使用 turbostat(linux-tools-common 包)读取和解码 MSR_TURBO_RATIO_LIMIT 寄存器。示例(已编辑,4 核处理器):
注意:您的处理器相当新,我不知道 turbostat 的发行版是否知道它。上游版本是,我很确定。
根据评论,温度现在可能是一个问题。要观察,试试这个:
我预计这是由于温度造成的,这称为节流,它由系统(通常是操作系统或 BIOS)完成,以防止对 CPU 造成伤害。要判断这是否是由于节流造成的,您需要查看(或理想情况下绘制图表)CPU 温度和 CPU 频率,如果您发现频率随着温度升高而降低,那么它就是节流。
另见:https ://en.wikipedia.org/wiki/Dynamic_frequency_scaling