1 问题描述
在训练模型时,kill掉cuda: 1
的进程后,nvidia-smi
命令发现cuda:1
不见了Σ(っ °Д °;)っ
而此时cuda:0
的程序还在运行,只是怎么GPU Fan显示错误???
2 掉卡原因
首先来看看官方解释:
Fig 2. 掉卡原因官方解释就是说掉卡的常见原因是GPU过热导致显卡shutdown,或者电源配置不当。但是如果在idle(空转,就是没有跑程序)状态下也会发生掉卡现象的话就可能是驱动版本和GPU不匹配了,可以尝试调整驱动版本。
显然我掉卡的原因是炼丹火力过猛导致GPU过热了,可能是batch-size调的太大而我的代码里面有把点云数据加载进GPU的步骤,导致GPU高速运转达到功率上限或者温度上限而触发保护机制,然后GPU风扇也跟着停转导致GPU Fan显示ERR!。
3 解决方法
重启。没错,重启大法好: )
sudo shutdown -r now
重启之后两张卡都正常。
还有一个问题是有时候GPU过热会导致风扇停转,GPU Fan显示ERR!,但是GPU上的程序并没有停止(结果导致GPU发热更严重了),这时候应尽快kill改卡上的程序:
kill -PID # PID为改卡上的程序编号
然后reset GPU:
nvidia-smi -r
然后限制GPU的功率,防止GPU过热:
sudo nvidia-smi -pm 1 # 把GPU的persistent mode(常驻模式)打开,这样才能顺利设置power limit
sudo nvidia-smi -pl 150 # 把功率限制从默认的250W调整到150W,也可以设置其他值啦,自己斟酌
最后如果还是不放心服务器的散热,也可以手动调节GPU风扇的转速,由于服务器没有显示器,设置起来有点麻烦我自己就没有折腾啦,取需~
网友评论