我在 ubuntu 服务器中使用 GPU 时遇到问题。Nvidia-smi 打印
风扇和使用情况显示“ERR!!”,GPU 未重置,进程未被终止
- 我使用一个 GPU 运行了三个程序,发现这些程序停止了。
- 但是,当我通过“gpustat”和“Nvidia-smi”检查 GPU 时,我的进程仍然在使用 GPU
- 和运行 Nvidia-smi 后,我在 FAN 和 USAGE 上看到“ERR!”。
当我用谷歌搜索该问题时,我发现我可以重置 GPU 或终止使用该 GPU 的进程。
- 所以我尝试终止进程使用 GPU “sudo kill -9 pid” 但它不起作用!我在 Google 上搜索了当“sudo kill”不起作用时该怎么办。
我以为它们是僵尸进程。所以我找到了僵尸进程并将其删除。
之后我再搜索,就没有任何僵尸进程了。
但这三个过程仍未被删除。
- 我尝试使用“Nvidia-smi --gpu-reset -i 0”重置 GPU
- 但它会打印“GPU 重置无法运行,因为 GPU 00000000:01:00.0 是主 GPU。 “由于其他人正在该服务器中使用其他 GPU,我只想重置索引 0 GPU
我在 Google 上找到了这个问题,解决办法是终止在该 GPU 上运行的进程。又是第一个问题!
(我不习惯使用 GPU。在同一个 GPU 上运行多个代码不是一个好方法吗?)
答案1
我遇到了 GPU 问题,其中一个和你的一样。Google 似乎没有足够的资源来处理 GPU Fan ERR!我花了很多时间才找到以下解决方案。大多数情况下它们都能解决问题,但取决于 GPU 状态,包括 CUDA 驱动程序、硬件风扇和 PCle 电源线(可能)。
1. 重启系统
最简单的方法是重新启动系统以恢复正常状态。例如,我按如下方式重新启动 Ubuntu 18.04。
$ sudo reboot
2.GPU空闲状态下的解决方案
如果您的 GPU 显存尚未被任何深度学习应用程序占用,例如:没有 2100 MiB / 7981 MiB 这样的使用量,则可以使用以下复合命令来解决 GPU 风扇错误。
$ sudo rmmod nvidia_uvm
$ sudo modprobe nvidia_uvm
$ sudo reboot
命令将会起作用并且 GPU 大多数情况下将恢复到正常状态。
3.GPU僵尸进程状态的解决方案
如果您的深度学习应用程序完成(或结束)后,GPU 仍然被僵尸进程(或其他原因)占用,则上述命令将无法正常工作。在这种情况下,您可以通过输入以下命令来解决问题。
重新启动系统
$ sudo reboot
继续执行下面的复合命令。
$ sudo rmmod nvidia_uvm
rmmod: ERROR: Module nvidia_uvm is in use
(不要理会上面的ERROR,继续执行下面的命令)
$ sudo modprobe nvidia_uvm
$ sudo reboot
我对上述命令的测试场景描述如下。
A. 在给出“sudo reboot”等单一重启命令后,GPU 实际上不起作用。但有必要清除系统。
B.按照A的方法,给出上述复合命令,由GPU进行运算。
4. 为 Nvidia GPU 设置持久性
1). 检查nvidia-persistenced状态
$ sudo systemctl status nvidia-persistenced
2). 启用 nvidia-persistenced
$ sudo systemctl enable nvidia-persistenced
3). 重启
$ sudo reboot
干杯。
答案2
通过增加电源容量解决了这个问题。可能是由于过载导致电压下降,导致其中一个对电压敏感的 GPU 关闭。