显卡掉卡问题解决

问题描述

训练一段时间后 GPU has fallen off the bus.

解决方案

系统日志太长难以翻阅,主要从频率、功率、驱动程序加载状态入手解决。

检查频率

使用如下命令检查频率限制。

(base) ps@ps-Z690-UD-DDR4-V2:~/logs$ nvidia-smi -q -d clock

输出形如

==============NVSMI LOG==============

Timestamp                                 : Sat Jul  5 18:09:13 2025
Driver Version                            : 570.144
CUDA Version                              : 12.8

Attached GPUs                             : 1
GPU 00000000:01:00.0
    Clocks
        Graphics                          : 1695 MHz
        SM                                : 1695 MHz
        Memory                            : 9751 MHz
        Video                             : 1545 MHz
    Max Clocks
        Graphics                          : 2100 MHz
        SM                                : 2100 MHz
        Memory                            : 9751 MHz
        Video                             : 1950 MHz

检查功率

打印显卡温度可以通过如下 log 命令:

ps@ps-Z690-UD-DDR4-V2:~/logs$ nvidia-smi -q -l 2 -d TEMPERATURE -f nvidia_temperature_log.txt

也可直接使用 nvidia-smi 查看。

经检查,显卡工作温度在 85℃ 左右,一旦浮动到 90℃ 就可能出发过热降频。通过锁功率控制显卡温度。

(base) ps@ps-Z690-UD-DDR4-V2:~/logs$ nvidia-smi -q | grep "Power"

输出形如

GPU Power Readings
        Average Power Draw                : 260.83 W
        Instantaneous Power Draw          : 311.81 W
        Current Power Limit               : 350.00 W
        Requested Power Limit             : 350.00 W
        Default Power Limit               : 350.00 W
        Min Power Limit                   : 100.00 W
        Max Power Limit                   : 350.00 W

经检查,这台机器上的 GPU1 在同功率下温度稍高。因此为两张显卡设置不同功率限制。

ps@ps-Z690-UD-DDR4-V2:~/logs$ sudo nvidia-smi -pl 300
ps@ps-Z690-UD-DDR4-V2:~/logs$ sudo nvidia-smi -i 1 -pl 225

输出形如

Power limit for GPU 00000000:01:00.0 was set to 300.00 W from 350.00 W.
Power limit for GPU 00000000:05:00.0 was set to 225.00 W from 300.00 W.
All done.

设置功率限制后,显卡工作温度降至 70℃ ~ 80℃ 区间,这基本是运行机器学习负载时的一般水平,是安全的。目前,机器正常运转,未出现掉卡情况。

显卡持久化

部分机器上可能出现由显卡驱动程序频繁加载卸载导致的宕机、掉卡等问题。检查本机系统日志并未发现该问题,但稳妥起见,也进行了显卡驱动持久化设置。

ps@ps-Z690-UD-DDR4-V2:~/logs$ sudo nvidia-smi -pm 1

输出形如

Enabled persistence mode via daemon for GPU 00000000:01:00.0.
Enabled persistence mode via daemon for GPU 00000000:05:00.0.
All done.

总结

推测是由过热降频引起,主要进行了功率限制后运行正常。

References

  1. https://blog.csdn.net/M_dmw/article/details/140819859
  2. https://blog.csdn.net/yu_xiao_you/article/details/130948104
  3. https://blog.csdn.net/u010087338/article/details/128706219
  4. https://blog.csdn.net/u012972390/article/details/122634600
  5. https://www.zhihu.com/question/560007236/answer/2719882138
  6. https://www.zhihu.com/question/603837213/answer/3461773587

附 | 系统日志检查

一些系统日志打印命令,打印不同优先级和时段下的系统日志输出。直接复制可用。

journalctl -p 3 > ./journalctl_p_3_0705.txt
journalctl -p 2 > ./journalctl_p_2_0705.txt
journalctl -p 1 > ./journalctl_p_1_0705.txt
journalctl --since "2025-07-05" > ./journalctl_since_0705.txt
journalctl --since "15 hour ago" --until "13 hour ago"  > ./journalctl_0705_since_2am_until_4am.txt
posted @ 2025-07-07 15:51  Miya_Official  阅读(221)  评论(1)    收藏  举报