将游戏进程的优先级更改为实时对 CPU 不利吗?

Tot*_*tem 8 linux process hardware games priority

在 Windows 上,我经常将游戏进程的优先级更改为“高”或“实时”以获得性能提升。这从未导致我的硬件出现任何问题。我在想,也许我可以在 Linux 上使用chrt命令来更改游戏进程的实时优先级,因为reniceing,即使到 -20(最高优先级)似乎也没有提供任何明显的提升。但是,在不知道它是否可能对我的 CPU 有害的情况下,我对这样做持谨慎态度。谁能告诉我风险?

Gil*_*il' 23

更改进程的优先级仅决定当其他进程争用 CPU 时间时该进程运行的频率。当进程是唯一一个使用 CPU 时间的进程时,它没有影响。其他空闲系统上的最小优先级进程获得 100% 的 CPU 时间,与最大优先级进程相同。

所以你可以以更高的优先级运行你的游戏,但这不会让它运行得更快,除非系统上的其他东西使用了大量的 CPU 时间。

我建议保持优先级低于 X 服务器,因为如果 X 服务器想要 CPU 时间,那很可能是因为游戏要求它显示一些复杂的东西,而显示通常是一个 CPU 要求很高的任务(但它取决于多少的工作是在 GPU 中完成的——CPU 优先级对 GPU 没有影响)。

CPU 旨在执行代码。更改进程优先级不会影响 CPU 的工作量,但即使这样做,也不会损坏 CPU,只会使其运行更热,从而使计算机中的风扇吹得更厉害。

  • 计算机命名法中有很多东西,但它仍然让我感到困惑,几乎*每个人*对这个概念不熟悉,认为“优先级”意味着某种“节流”或“限制”。简单的英语定义是否有歧义?如果我做X的时候优先于你,而你不需要做X,那你就等于不存在了,对吧?为什么人们对此感到困惑,你知道吗? (10认同)
  • @Mehrdad 我的猜测是,有时人们使用“最高优先级”的意思是“放弃你正在做的一切,即使它会杀死你,现在也完成它”,而不是“在任何非最高优先级任务之前做这件事”。只需将计算机拟人化一点,前者就开始有意义了,即使后者才是计算机的真正意义所在。 (5认同)
  • “它只会让它运行得更热,从而使计算机中的风扇吹得更猛。” 不,不一定。我可以有一个处于紧密循环中的高优先级进程,内存访问由 L1 缓存提供服务,因此几乎没有停顿。当游戏获得更高的优先级时,它最终可能会导致*更少*的热量,因为它会更多地停止 CPU 以进行内存访问。优先级与 CPU 温度或利用率无关——它不是@Mehrdad 所说的限制。 (2认同)
  • @hexafraction, "_但即使确实是_"; 没有人说它会跑得更热 (2认同)