插件窝 干货文章 Linux常用nvidia-smi命令有哪些

Linux常用nvidia-smi命令有哪些

nvidia smi GPU bash 505    来源:    2025-04-27

在Linux系统中,nvidia-smi(NVIDIA System Management Interface)是管理NVIDIA GPU的核心命令行工具。以下是常用命令及功能详解:


1. 基础监控命令

  • nvidia-smi
    默认输出:GPU状态、温度、功耗、显存占用、计算进程等实时信息。

    nvidia-smi
    
  • 持续监控(1秒刷新)

    watch -n 1 nvidia-smi
    

2. 显存与进程管理

  • 显存占用排序

    nvidia-smi --query-gpu=memory.used --format=csv
    
  • 查看占用GPU的进程

    nvidia-smi -q -d PIDS
    
  • 杀死占用GPU的进程

    sudo kill -9 $(nvidia-smi | grep -A 10 "Processes" | grep -v "====" | awk '{print $3}')
    

3. 显卡详细信息

  • 完整GPU信息(JSON格式)

    nvidia-smi -q -x
    
  • 指定GPU编号查询

    nvidia-smi -i 0 -q  # 查看第0块GPU的详细信息
    

4. 性能与功耗控制

  • 设置GPU最大功耗(需root)

    sudo nvidia-smi -i 0 -pl 200  # 将GPU 0功耗限制为200W
    
  • 启用/禁用持久模式(驱动常驻)

    sudo nvidia-smi -pm 1  # 启用
    sudo nvidia-smi -pm 0  # 禁用
    

5. 高级功能

  • 重置GPU(需root)

    sudo nvidia-smi -r  # 重置所有GPU
    sudo nvidia-smi -i 0 -r  # 重置指定GPU
    
  • ECC错误检查

    nvidia-smi -q | grep -A 4 "ECC Errors"
    
  • 启用/禁用ECC(需支持)

    sudo nvidia-smi -e 1  # 启用ECC
    sudo nvidia-smi -e 0  # 禁用ECC
    

6. 自动化查询(脚本友好)

  • 自定义输出格式

    nvidia-smi --format=csv --query-gpu=index,name,memory.total,memory.used
    
  • 仅显示关键指标

    nvidia-smi --query-gpu=timestamp,name,utilization.gpu,memory.used --format=csv
    

7. 其他实用参数

  • 显示驱动版本和CUDA版本

    nvidia-smi --query | grep "Driver Version\|CUDA Version"
    
  • 监控GPU温度

    nvidia-smi -q -d TEMPERATURE
    

注意事项

  1. 部分命令需要sudo权限(如功耗设置、重置GPU)。
  2. 使用-i <GPU_ID>可指定某块GPU操作。
  3. 结合watch命令实现动态监控(如watch -n 1 nvidia-smi)。

通过灵活组合这些命令,可以高效监控、调试和管理NVIDIA GPU资源。