linux检测nvidia显卡脚本

 admin   2025-12-15 15:47   10 人阅读  0 条评论
#!/bin/bash

# 日志文件路径
LOG_FILE="nvidia_gpu_check.log"

# 记录日志函数
log() {
    echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1" | tee -a "$LOG_FILE"
}

log "==================== NVIDIA GPU 检测脚本 ===================="
log "开始检测..."

# 1. 检查是否为 root 用户(非必须,但某些操作需要)
if [ "$(id -u)" -eq 0 ]; then
    log "警告:建议使用普通用户运行(避免权限问题)"
fi

# 2. 检查 lspci 是否可用
if ! command -v lspci &> /dev/null; then
    log "错误:lspci 未安装,请先安装 pciutils!"
    log "Ubuntu/Debian: sudo apt install pciutils"
    log "CentOS/RHEL: sudo yum install pciutils"
    exit 1
fi

# 3. 检测 NVIDIA GPU
log "检测 NVIDIA 显卡..."
if ! lspci | grep -i nvidia &> /dev/null; then
    log "错误:未检测到 NVIDIA 显卡!"
    exit 1
else
    log "检测到 NVIDIA 显卡:"
    lspci | grep -i nvidia | tee -a "$LOG_FILE"
fi

# 4. 检查 NVIDIA 驱动是否安装
log "检查 NVIDIA 驱动..."
if ! command -v nvidia-smi &> /dev/null; then
    log "警告:nvidia-smi 未找到,可能未安装 NVIDIA 驱动!"
else
    # 输出驱动信息
    log "NVIDIA 驱动信息:"
    nvidia-smi --query | tee -a "$LOG_FILE"

    # 提取关键信息
    DRIVER_VERSION=$(nvidia-smi --query-gpu=driver_version,name --format=csv,noheader | head -1)
    log "驱动版本: $DRIVER_VERSION"
fi

# 5. 检查 CUDA 版本(如果安装)
log "检查 CUDA 版本..."
if [ -f "/usr/local/cuda/version.txt" ]; then
    CUDA_VERSION=$(cat /usr/local/cuda/version.txt | grep -oP '(?<=CUDA Version )\S+')
    log "CUDA 版本: $CUDA_VERSION"
elif [ -d "/usr/local/cuda" ]; then
    log "CUDA 已安装,但版本文件未找到,请手动检查:"
    ls -l /usr/local/cuda/lib64/libcudart* 2>/dev/null | tee -a "$LOG_FILE"
else
    log "未检测到 CUDA"
fi

# 6. 检查 GPU 显存信息(如果驱动正常)
if command -v nvidia-smi &> /dev/null; then
    log "GPU 显存信息:"
    nvidia-smi --query-gpu=memory.total,memory.used,memory.free --format=csv | tee -a "$LOG_FILE"
fi

# 7. 检查是否加载 Nouveau 驱动(可能冲突)
log "检查 Nouveau 驱动..."
if lsmod | grep -i nouveau &> /dev/null; then
    log "警告:Nouveau 驱动已加载,可能与 NVIDIA 官方驱动冲突!"
else
    log "Nouveau 驱动未加载"
fi

log "检测完成!"
本文地址:https://liuchunjie.top/?id=820
版权声明:本文为原创文章,版权归 admin 所有,欢迎分享本文,转载请保留出处!
NEXT:已经是最新一篇了

 发表评论


表情

还没有留言,还不快点抢沙发?