概述
随着AI和高性能计算的快速发展,GPU服务器已成为数据中心的重要基础设施。GPU驱动的稳定运行直接决定了计算任务的成功率。本文详细介绍NVIDIA GPU驱动的手动安装、常用运维命令、常见故障排查以及日常监控方法,帮助运维人员高效管理GPU服务器。
一、环境准备
1.1 确认硬件兼容性
安装驱动前,首先确认GPU型号和服务器架构:
1 2 3 4 5 6
| lspci | grep -i nvidia
|
支持的驱动版本需与GPU架构匹配:Tesla/Volta/Ampere架构建议使用470+驱动,Ada Lovelace/Hopper架构建议使用525+驱动。
1.2 检查当前环境
1 2 3 4 5 6 7 8 9 10
| cat /etc/os-release
lsmod | grep nvidia nvidia-smi
sudo apt-get --purge remove nvidia-* libnvidia-* sudo rm /etc/modprobe.d/nvidia*.conf
|
二、驱动安装
2.1 使用官方.run安装包(通用方法)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| wget https://us.download.nvidia.com/XFree86/Linux-x86_64/525.125.06/NVIDIA-Linux-x86_64-525.125.06.run
sudo bash -c "echo -e 'blacklist nouveau\noptions nouveau modeset=0' > /etc/modprobe.d/blacklist-nouveau.conf" sudo update-initramfs -u
sudo systemctl set-default multi-user.target sudo reboot
sudo systemctl stop gdm3 sudo bash NVIDIA-Linux-x86_64-525.125.06.run --no-questions
sudo systemctl set-default graphical.target sudo reboot
nvidia-smi
|
2.2 使用包管理器安装(Ubuntu/Debian)
1 2 3 4 5 6 7 8 9 10 11
| wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb sudo dpkg -i cuda-keyring_1.1-1_all.deb sudo apt-get update
sudo apt-get install nvidia-driver-535-server cuda-toolkit-12-2
sudo reboot nvidia-smi
|
三、日常运维命令
3.1 基础监控
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| nvidia-smi
nvidia-smi dmon -s u
watch -n 0.5 nvidia-smi
nvidia-smi -q
nvidia-smi -i 0 nvidia-smi -i 0,1
|
3.2 进程与资源管理
1 2 3 4 5 6 7 8 9 10 11 12
| nvidia-smi p
nvidia-smi p --sort-by=memory
nvidia-smi --query-gpu=index,name,memory.total,memory.used,memory.free --format=csv
nvidia-smi --id=0 --reset kill -9 <PID>
|
3.3 性能调优
1 2 3 4 5 6 7 8 9 10 11
| sudo nvidia-smi -pm ENABLED
sudo nvidia-smi -i 0 -pl 250
nvidia-smi -q -d CLOCK
sudo nvidia-smi -i 0 -lmc 500,1500
|
四、常见故障排查
4.1 驱动加载失败
现象:nvidia-smi报错NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver
1 2 3 4 5 6 7 8 9 10 11
| lsmod | grep nvidia
sudo modprobe nvidia
dmesg | grep -i nvidia | tail -20
cat /proc/driver/nvidia/version
|
4.2 GPU掉卡或不可见
现象:nvidia-smi只能看到部分GPU,或完全看不到GPU
1 2 3 4 5 6 7 8 9 10 11
| sudo nvidia-smi -q -d PAGE_RETIREMENT
sudo lspci -vvv -s $(nvidia-smi --query-gpu=pci.bus_id --format=csv,noheader | head -1) | grep -i error
nvidia-smi topo -m
sudo echo 1 > /sys/bus/pci/rescan
|
4.3 Xid错误(驱动内部错误)
现象:nvidia-smi显示Xid错误,GPU可能降级或重启
1 2 3 4 5 6 7 8 9 10 11
| dmesg | grep -E "NVRM|Xid"
nvidia-smi -q > gpu_status_$(date +%Y%m%d).log sudo cat /var/log/syslog | grep -i nvidia >> gpu_status_$(date +%Y%m%d).log
|
4.4 NVLink/PCIe链路降级
1 2 3 4 5 6 7 8 9
| nvidia-smi nvlink -s
nvidia-smi -q -d PCI
|
五、监控与告警配置
5.1 Prometheus + node_exporter指标
node_exporter支持GPU指标采集(需额外配置):
1 2 3 4 5 6 7 8
| scrape_configs: - job_name: 'gpu_metrics' static_configs: - targets: ['localhost:9100'] relabel_configs: - source_labels: [__address__] target_label: instance
|
5.2 基础告警阈值建议
| 指标 |
警告阈值 |
严重阈值 |
| GPU利用率 |
< 30% (持续1小时) |
- |
| 显存使用率 |
> 85% |
> 95% |
| GPU温度 |
> 75°C |
> 85°C |
| 驱动报错频率 |
1次/小时 |
5次/小时 |
5.3 日志收集
建议将GPU相关日志统一收集至日志平台,便于问题追溯:
1 2 3
|
:msg, contains, "nvidia" /var/log/nvidia-gpu.log
|
总结
GPU服务器运维的核心在于规范的安装流程、完善的监控体系以及快速的问题定位能力。建议运维团队建立GPU健康档案,记录每台服务器的GPU型号、驱动版本、历史故障等信息。同时,制定驱动升级的标准流程,在升级前充分测试,确保计算任务不受影响。日常巡检应将GPU状态纳入必检项目,将故障消灭在萌芽阶段。