CPU 封装功耗与 nVidia GPU P 状态有关,这导致 CPU 在负载期间节流

CPU 封装功耗与 nVidia GPU P 状态有关,这导致 CPU 在负载期间节流

中央处理器:7700HQ 图形处理器:GTX 1050

我使用 Prime95 对 CPU 进行压力测试(使用 AVX2)。几分钟后,它稳定在 3.0GHz@45W。这是预期的结果,所以这里没有什么新东西。

之后,我安装了 nVidia 驱动程序 (470.x)。在 nVidia 控制面板中,我选择使用性能模式(仅限 nVidia gpu)。我认为这将释放更多 CPU,时钟速度应至少等于甚至高于最初测量的值。我再次运行压力测试,令我惊讶的是,几分钟后 CPU 稳定在 2.7GHz@45W。

我通过多次测试确认了结果。这就是为什么我决定改回集成 GPU重启后一切如常。然后我尝试平衡模式(仅按需使用 nVidia gpu)。在这种情况下,结果与性能模式

我通过切换 GPU/X11<->Wayland 进行了更多测试,但结果始终相同。使用集成 GPU 时,CPU 运行在 3.0GHz/~87 度@45W。使用 nVidia - 2.7GHz/~82 度@45W。

有人有什么建议吗?或者我是否遗漏了一些内核设置?

谢谢 :)

更新:

情况变得更加有趣。上面说的都是真的,除了一件事——操作系统。经过大量测试,我得出结论,Windows 和 Linux 上的情况都是一样的。

我们来关注一下CPU的空闲封装功耗(IPPC)。

  1. 在 Prime 中使用“省电”模式会导致仅使用 iGPU 并完全关闭 nVidia。在这种情况下,IPPC 小于 2.5W。
  2. 在 Prime 中使用“nVidia on demand”模式会导致使用 iGPU,除非明确选择 nVidia。在这种情况下,两个 GPU 始终处于活动状态。无论实际有多少进程在使用 nVidia - 它始终处于活动状态!在这种情况下,IPPC 约为 5-12W。
  3. 在 Prime 中使用“性能”模式会导致仅使用 nVidia gpu。它始终处于活动状态。在这种情况下,IPPC 约为 5-12W。

后来我试图找出为什么 IPPC 的范围如此之广 - 从 5 到 12W,以及它是如何连接到 GPU 的。幸运的是我找到了它。答案是在 GPU 的电源状态(P 状态)中。当 GPU 使用 P0(最大性能)时,IPPC 为 5W。在任何其他情况下,IPPC 都会更高(高达 12W)。这听起来很违反直觉,但事实证明这是真的。GPU 运行得越快,对 CPU 的影响就越小,因此 CPU 封装功耗就会降低,反之亦然 - GPU 运行得越慢,CPU 消耗的电量就越多。

现在让我们转到 Windows。它只有一种 GPU 模式 - “按需”。与 Linux 的不同之处在于,在 Windows 上,当没有应用程序使用 nVidia GPU 时,它会被关闭,从而导致 IPPC <2.5W。如果任何应用程序开始使用 nVidia GPU,则 IPPC 上升到 12W。因此,在 Windows 上,逻辑与 Linux 相同 - GPU 运行得越快,CPU 的封装功率就越低。

注意:我检查了 Windows 空闲时的功耗。Core/IA/GX 的功率几乎为 0,而启用 nVidia 时封装的功率为 5-12W。

根据所有发现,该问题与 OS/GPU 无关。不知何故,打开 dGPU(无论使用情况如何)会导致 CPU 封装功耗过高(因此在 CPU 满载时会降低频率)。原因可能是什么?Windows/Linux 的 nVidia 驱动程序是否有问题?dGPU 运行时是否有某些特定的 CPU 组件被激活?

答案1

您将需要带有 tdp 解锁的 bios mod。

例子 https://www.bios-mods.com/forum/Thread-Request-ASUS-GL502VMZ-Unlocked-Bios

对于较新的 CPU 来说也是如此 https://linustechtips.com/topic/1070432-for-asus-fx504gm-25w-power-limit-throttling-users-only/

根据笔记本电脑制造商的不同,它可能有隐藏的 bios 选项卡,但你并不真的需要它 - bios tdp unlock 就可以了 https://www.reddit.com/r/MSILaptops/comments/g4z52k/overclocking_i77700hq_is_possible/

更新添加了一些解决方法来降低功耗或提高 CPU 性能

第 7 代英特尔和 Pascal 上的动态电源管理仍不受支持(在 470 中)https://forums.developer.nvidia.com/t/pascal-d3-power-management/181570/4

有些笔记本电脑即使使用较新的芯片也会损坏 https://forums.developer.nvidia.com/t/xorg-still-in-gpu-with-prime-offload-and-dynamic-power-management/170485/10

Windows 也一样 http://forum.notebookreview.com/threads/the-throttlestop-guide.531329/page-965#post-10853895

仅供参考,您可能希望为 Wayland 游戏提供主要渲染卸载,而不是因为更高的 fps,因此当不需要时,您只能以混合模式运行或禁用 nvidia gpu(并且没有卸载)-因为当启用 dgpu 时您没有电源管理。您可以为此使用 optimus-manager。

您可以解锁您的 BIOS,这样 CPU 就可以使用更多的电力来抵消由不必要的非核心功耗导致的 FPS 下降。

你可以使用 linux intel-undervolt-gui 稍微降低 CPU 电压,然后使用 throttled 进行监控 https://github.com/lukechadwick/linux-intel-undervolt-gui

为了延长电池使用时间(禁用 dpu),您可以使用 tlp gui 代替 ubuntu 的 21 个内置电源控制,一次只使用一个电源控制实用程序 Ubuntu 21.04 中带有电源模式设置的 TLP 包?

相关内容