我在寻找在运行长时间作业(40-70 分钟)时保持 CPU 冷却的方法,这些作业会使用所有可用内核并以最大可用频率运行。此外,我有一个很多要运行的这些作业。
我第一次遇到这个脚本但是我不太了解 bash,也无法弄清楚当我终止脚本时它是否会恢复默认值,/sys/devices/system/cpu/cpu0/cpufreq
所以我放弃了这种方法。
然后我遇到了这个问题但我的电脑只显示performance
和。它设置powersave
为。scaling_available_governors
powersave
- 这是否意味着 PC 正在自动降低性能以保持凉爽?
另外在我的/sys/devices/system/cpu/cpu0/cpufreq
文件夹中我发现一个文件energy_performance_preference
,其选项如下:
default
,,,,,performance
balance_performance
balance_power
power
我的设置为balance_performance
。
- 这是什么选项?在哪里可以找到每个选项的作用?
是的,我知道人们说现代 CPU 可以自行处理节流和热量,但尽管如此,我对 PC 的看法与对汽车的看法相同。当然,你可以让你的 RPM 达到红线,大多数现代汽车都会防止你的引擎永久损坏。但一旦你养成了经常红线的习惯,引擎的预期寿命肯定会缩短。
- 是否有任何推荐的易于使用的 Ubuntu 工具可以让我设置最高/最低温度并限制性能,就像链接脚本尝试做的那样?
答案1
是的,事情越来越多地转向硬件控制。
我也在寻找有关此问题的更多答案,但到目前为止我发现的是:
https://www.mankier.com/8/x86_energy_perf_policy ($ man x86_energy_perf_policy)
例如,EPP 设置会影响“硬件进入和退出 CPU 空闲状态 (C 状态) 和处理器性能状态 (P 状态) 的积极程度”。
看起来“balance_performance”是拥有响应迅速、性能良好的系统的默认设置,但具有“潜在的显著节能效果”
我尝试过“power” EPP,它会导致系统响应速度变慢,因为更改 p 状态和进入/离开更深的 c 状态的延迟增加。虽然它可能提供更大的节能潜力,但它似乎也需要一个更高度优化的系统来利用“race to sleep”的积极节能https://en.wikichip.org/wiki/race-to-sleep例如,这样计算机就不会不断地进入和退出 c 状态,因为这样做仍然会产生很大的开销(包括功率和延迟方面),至少从我观察到的情况来看是这样。
看起来您可以作为 EPP 套件的一部分更改最大和最小频率,以及启用/禁用涡轮增压,这是我开始的地方,因为这听起来像是您正在配置一个系统来“跑马拉松”而不是“短跑”。
虽然 CPU 可以很好地调节性能和温度以保护核心,但我不太清楚热量的积累(即使在 CPU 最大标称公差范围内)是否会对其他更热敏感的组件的寿命产生负面影响。所以如果我是你,我想我会运行一些测试作业并监控内存、主板、磁盘驱动器、GPU(如果相关)等的热量。你很快就会知道系统是否在其限制范围内调节。如果不是,你可以简单地降低最大可用频率,直到在当前冷却方案下,所有系统组件都能承受热范围。
此外,对于这些参数的基于 GUI 的解决方案,请查看 gnome 扩展:https://extensions.gnome.org/extension/1082/cpufreq/ 以我的经验来看,虽然有点占用系统资源,但可以让你轻松设置最小-最大频率并禁用涡轮增压。
答案2
如果您拥有多个核心,则在虚拟机中运行作业将使您能够控制同时使用多少个核心。控制分配的内存的可能性也可能有助于降低温度。
显然,这不是一种超高效的资源利用方式——但作为一种简单的临时措施,它是非常有效的。