我正在尝试在 GeForce GTX 980 Ti GPU 上进行一些深度学习。我有一个 658W 电源,但是当我开始运行 TensorFlow 时,我在 dmesg 中收到以下错误:
[ 158.598263] ata2: exception Emask 0x50 SAct 0x0 SErr 0x4090800 action 0xe frozen
[ 158.598268] ata2: irq_stat 0x00400040, connection status changed
[ 158.598271] ata2: SError: { HostInt PHYRdyChg 10B8B DevExch }
[ 158.598277] ata2: hard resetting link
[ 159.602605] NVRM: GPU at PCI:0000:01:00: GPU-e29ec6c5-5146-95c4-f09c-68b96546640b
[ 159.602609] NVRM: Xid (PCI:0000:01:00): 79, GPU has fallen off the bus.
[ 159.602613] NVRM: GPU at 0000:01:00.0 has fallen off the bus.
[ 159.602623] NVRM: A GPU crash dump has been created. If possible, please run
NVRM: nvidia-bug-report.sh as root to collect this data before
NVRM: the NVIDIA kernel module is unloaded.
[ 164.230199] ata2: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[ 164.237244] ata2.00: configured for UDMA/133
[ 164.237248] ata2: EH complete
似乎只是一次小的电涌就搞垮了我的硬盘和显卡。所以我想知道,也许我可以慢慢地增加我的 GPU,这样它就会以较慢的方式开始使用越来越多的电量,这样它就不会产生这种电涌?
我使用的是 Ubuntu 16.04.1,内核为 4.8.0-34-generic,nvidia 内核版本为 375.26。
nvidia-smi
Tue Feb 7 15:02:47 2017
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 375.26 Driver Version: 375.26 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce GTX 980 Ti Off | 0000:01:00.0 Off | N/A |
| 0% 42C P0 56W / 275W | 0MiB / 6077MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| No running processes found |
+-----------------------------------------------------------------------------+
我尝试将 GPU 连接到它自己的电源(较旧的 750W,我无法直接在此主板上使用),但发生了类似的事情:
[ 81.865432] NVRM: GPU at PCI:0000:01:00: GPU-e29ec6c5-5146-95c4-f09c-68b96546640b
[ 81.865437] NVRM: Xid (PCI:0000:01:00): 79, GPU has fallen off the bus.
[ 81.865474] NVRM: GPU at 0000:01:00.0 has fallen off the bus.
[ 81.865484] NVRM: A GPU crash dump has been created. If possible, please run
NVRM: nvidia-bug-report.sh as root to collect this data before
NVRM: the NVIDIA kernel module is unloaded.
并且额外的电源关闭。所以看起来他们真的不喜欢 GPU 被激活。
答案1
答案2
我解决这个问题的方法肯定不是最好的,但它完成了工作,现在我不再看到这个问题了。实际上,这个问题可能是由多种原因引起的,没有人有明确的解决办法。我尝试了很多建议,但都无济于事。NVIDIA
在 Ubuntu 上打开应用程序,禁用 NVIDIA 支持并切换到英特尔图形管理,这样会更省电,不会导致此问题。开发人员在 Linux 上进行的大部分开发工作不需要太多 GPU,因此如果需要,请将笔记本电脑充电,从应用程序中启用 NVIDIA,完成工作,最后在工作完成后再次切换到英特尔。这是我目前正在关注的转变
答案3
我在 Dell Precision M6700 上遇到过这个问题。虽然我花了很长时间才想出解决方案,但解决方案很简单:取出电池(不,我没有使用电池,笔记本电脑始终连接到电源)。
这个想法是在读到“Xid: 79,GPU 已从总线上掉下来”错误也可能与电源问题有关时产生的。显然,电池无法正常工作,这可能是问题所在。
后来我发现在 GRUB 中添加 pcie_aspm=off 也能达到同样的效果(参见https://askubuntu.com/questions/868321/gpu-has-fallen-off-the-bus-nvidia)。