文档首页> AI开发平台ModelArts> ModelArts Lite用户指南> 弹性裸金属DevServer> FAQ> 训练速度突然下降以及执行nvidia-smi卡顿的解决方法
更新时间:2024-04-30 GMT+08:00
分享

训练速度突然下降以及执行nvidia-smi卡顿的解决方法

问题现象

在高性能8卡GPU的裸金属上的训练任务突然变慢,以前1个epoch约2小时执行完成,最近1个epoch需要2天才能执行完成,并且执行“nvidia-smi”也明显变很卡顿。

原因分析

根据现象描述可能出现了nvidia-smi D+进程。 "D+"表示进程状态为"Uninterruptible Sleep (usually IO)",即进程正在等待I/O操作完成,此时无法被中断。

在正常情况下,nvidia-smi进程通常只会短暂地出现D+状态,因为它们是由内核控制的,该进程处于等待I/O操作完成的状态,可能是在读取或写入GPU相关的数据,这是正常的操作。但是,如果该进程一直处于"D+"状态,可能表明出现了I/O操作阻塞或其他问题,这可能导致系统死锁或其他问题。

如果想构造nvidia-smi D+进程,可以死循环一直执行nvidia-smi体验D+进程带来的系统不稳定性, 如:

#!/bin/bash

while true; do
nvidia-smi &
sleep 1   # 可以根据需要调整间隔时间
done

然后执行查看产生nvidia D+进程

ps -aux | grep -w D+

结果如下:

图1 nvidia D+进程

此时可以观察你的训练任务或者执行“nvidia-smi”等命令,几乎是卡顿无法执行,因为内核IO已经阻塞, 无法执行相关GPU命令,只能尝试释放D+进程。

处理方法

“nvidia-smi”是一个NVIDIA GPU监视器命令行工具,用于查看GPU的使用情况和性能指标,可以帮助用户进行GPU优化和故障排除。 但是建议在业务软件或训练算法中,避免频繁使用“nvidia-smi”命令功能获取相关信息,存在锁死的风险。出现D+进程后可以尝试如下方法:

  • 方法1: 可以根据ps -aux查到的进程号, 使用kill -9强制关闭进程。
    sudo kill -9 <进程ID>
  • 方法2: 如果方法1执行后无法消除D+进程, 请尝试重启服务器。
分享:

    相关文档

    相关产品