NVIDIA GTX1650,GPU 已掉队

NVIDIA GTX1650,GPU 已掉队

我最近买了一台新笔记本电脑,它在其他方面都运行良好,但当我从挂起状态恢复时,我得到了Xid 79, GPU Has fallen off the bus.
这是一台戴尔笔记本电脑(xps 15),i9-9980HK CPU,GTX 1650,Ubuntu 18.04,NVIDIA 440 驱动程序。
我发现许多人遇到过类似的问题,但大多数问题与随机崩溃有关。
我尝试了一些建议来修复它:启用持久模式,,,nvidia-settings -a '[gpu:0]/GPUPowerMizerMode=1'nvidia-smi -pm 1acpi_osi='Windows 2009'pcie_aspm=offrcutree.rcu_idle_gp_delay=1各种组合添加到启动选项中。

持久模式一开始似乎并不是持久的,当我设置它时,下次启动时它就被禁用了(不确定是否应该保存)。

在 Windows 下使用笔记本电脑运行了几天,但没有导致它出现同样的问题。

如果您对我还能做什么提出任何建议,我将非常感激。

答案1

我在装有 Ubuntu 19.10 的同一台笔记本电脑上遇到了与您完全相同的挂起/唤醒问题。令人沮丧的是,周围的所有建议(持久性等)都无法解决这个问题。

我的驱动程序是 435.21 版本,所以最初我像您一样尝试切换到 440.36,但问题仍然存在。

@K7AAY,我猜你的意思是 GTX-1650?因为这是 OP 卡,链接说 440 已添加对它的支持。

不管怎样,我通过将驱动程序从 435.21 降级到 430.09,然后再降回 435.21,让它正常工作了,所以一定是在过程中出了什么问题。希望这能有所帮助。

答案2

对于那些通过强制性能模式来解决问题的人。以下是在每次启动时修复此问题的两种方法:一种解决方法是在每次启动时简单地添加设置,方法是将其添加到启动应用程序(或启动脚本或 systemd 单元等):

sh -c 'nvidia-settings -a "[gpu:0]/GpuPowerMizerMode=1"'

--重要提示:请确保 gpu 索引正确,如下一节所述。--

但是如果您有多个想要保存的设置,那么这里是如何在每次登录时正确加载您的自定义 nvidia 设置,并且当 nvidia-settings 应用程序尝试覆盖它们时不会丢失它们:

  1. 运行此程序以获取您的 gpu 索引(gpu:0,gpu:1等):

    nvidia-settings -q all | grep -C 10 -i powermizer
    
  2. 现在您知道了您的 gpu id,请打开 nvidia-settings -> nvidia 设置配置 -> 保存当前配置 -> 将其保存在您的主目录中.persistent_nvidia-settings-rc

  3. 使用文本编辑器打开新文件并在底部添加以下行:

    [gpu:0]/GPUPowerMizerMode=1
    
  4. 保存设置并通过运行此命令验证其是否正常工作。然后检查 PowerMizer 是否设置为最大性能模式:

    nvidia-settings --config=$HOME/.persistent_nvidia-settings-rc --load-config-only
    
  5. 打开桌面环境“启动应用程序”配置。查找并修改 nvidia 设置条目(它已存在于 Ubuntu 中)以匹配此命令,如果尚不存在,则添加它:

    sh -c '/usr/bin/nvidia-settings --config=$HOME/.persistent_nvidia-settings-rc --load-config-only'
    
  6. 利润

现在,当您登录时,配置就会加载。您可以从任何地方调用它来加载您的设置文件,无论是从 OpenRC、Systemd 还是您的启动应用程序,正如我上面所解释的那样。

当 GPU 负载过大并通过GPU has fallen off the bus消息冻结整个系统时,此解决方法解决了我的问题。

重要提示:每次启动时默认nvidia-settings覆盖.nvidia-settings-rc文件,并且不会保存 powermizer 设置,这就是我们必须创建和加载自定义文件的原因,否则每次使用该应用程序时更改都会丢失。进行这些更改后,.persistent_nvidia-settings-rc如果您想更改某些内容并在每次启动时获取它,则必须手动更新,但与完全无法使用 GPU 相比,这只是小麻烦。

相关内容