Google Chrome 中的段错误 - 与 Nvidia 卡有关吗?我怎么知道?

Lin*_*eak 3 hardware chrome segmentation-fault nvidia linux-mint

系统

Linux Mint 19.3 Cinnamon 64 位,基于 Ubuntu 18.04 LTS。


相关硬件


谁能告诉我以下是否意味着我的 Nvidia 卡出现故障之类的特殊情况?是否只是 Google Chrome(稳定)端或nvidia-435驱动程序中的软件错误?我怎么知道?

我只知道我的电脑死机了一两秒钟,这是:

dmesg 踪迹

[Thu Jan 16 16:01:38 2020] show_signal_msg: 23 callbacks suppressed
[Thu Jan 16 16:01:38 2020] GpuWatchdog[18858]: segfault at 0 ip 000055a9a5a6077d sp 00007f033f76c6c0 error 6 in chrome[55a9a1b25000+7170000]
[Thu Jan 16 16:01:38 2020] Code: 48 c1 c9 03 48 81 f9 af 00 00 00 0f 87 c9 00 00 00 48 8d 15 19 61 9c fb f6 04 11 20 0f 84 b8 00 00 00 be 01 00 00 00 ff 50 30 <c7> 04 25 00 00 00 00 37 13 00 00 c6 05 f1 6b a4 03 01 80 7d 8f 00
Run Code Online (Sandbox Code Playgroud)

我当时在做什么

I was playing an HTML5 game (Forge of Empires).

Gun*_*ohm 6

不,这不是您的 Nvidia 卡有问题。Chrome 也不是。

首先发生的是 Nvidia 软件崩溃,停止渲染管道。然后,几秒钟后,chrome 检测到 GPU 不再渲染,尝试处理它,失败并抛出段错误。

当机器处于崩溃状态时,您 ssh 进入它并运行“top”,您将看到两个进程irq/75 nvidianv_queue交替以 100% 的 CPU 运行(中断号在您的系统上可能不同)。

此外,在 GpuWatchdog 前几秒钟,您的系统日志可能包含来自 nvidia 驱动程序的一些消息:

Feb 10 17:00:24 natascha kernel: [157260.734117] NVRM: GPU at PCI:0000:08:00: GPU-f622f482-2ad1-4992-4d8a-9d62b465e084
Feb 10 17:00:24 natascha kernel: [157260.734120] NVRM: GPU Board Serial Number: 
Feb 10 17:00:24 natascha kernel: [157260.734124] NVRM: Xid (PCI:0000:08:00): 61, pid=1391, 0cde(308c) 00000000 00000000
Run Code Online (Sandbox Code Playgroud)

问题的报告遍布互联网;我还没有找到任何修复。我在我的新 PC 上遇到了同样的问题,不运行 chrome 并不能防止崩溃,但会阻止系统日志消息;从 435 恢复到 430 驱动程序使问题消失(到目前为止)。


更新:崩溃也发生在 430 个驱动程序上。不属于 Ubuntu 的 440 驱动程序似乎解决了这个问题。至少我不再有这个问题了,amrits 在https://devtalk.nvidia.com/default/topic/1060783/linux/random-xid-61-and-xorg-lock-up/上的帖子7证实了这一点。

由于 440 驱动程序不是 Ubuntu 发行版的一部分,这就是我所做的 - 我从https://linuxconfig.org/how-to-install-the-nvidia-drivers-on-ubuntu-19-10-获得此信息- eoan-ermine-linux是关于 Ubuntu 19.10,但也适用于 18.04:

sudo -i
add-apt-repository ppa:graphics-drivers/ppa
apt update
Run Code Online (Sandbox Code Playgroud)

此时,ubuntu-drivers devices应该输出,除其他外,

# ubuntu-drivers devices
== /sys/devices/pci0000:00/0000:00:03.1/0000:08:00.0 ==
modalias : pci:v000010DEd00001F02sv000010DEsd00001F02bc03sc00i00
vendor   : NVIDIA Corporation
driver   : nvidia-driver-440 - third-party free recommended
Run Code Online (Sandbox Code Playgroud)

然后你就可以安装驱动了

apt install nvidia-driver-440
Run Code Online (Sandbox Code Playgroud)

并且由于您无论如何都需要重新启动以使新驱动程序处于活动状态,因此我建议您也更新其余软件:

apt upgrade
apt autoremove
rebooot
Run Code Online (Sandbox Code Playgroud)

6 月 15 日更新 - 根据 nvidia,仍然没有驱动程序修复,他们无法重现该问题。请参阅他们论坛上的主题。但是,当 GPU 从省电模式转为使用更多功率的模式时,某些主板/GPU 组合似乎会出现此问题。强制 GPU 使用更高的频率似乎可以防止这种情况发生,一些用户报告以下内容作为解决方法:

nvidia-smi -pm ENABLED
sudo nvidia-smi -lgc 1000,1815
Run Code Online (Sandbox Code Playgroud)

(这必须在每次重新启动时重复)

这为卡设置了永久(直到重新启动)更高的频率,从而导致更多的功耗和可能更短的使用寿命,但似乎可以解决崩溃问题,因此对许多用户来说可能更可取。