nvidia-smi 无回显或报错,但 7 张卡正常的现象,这属于典型的“部分掉卡”或“驱动未绑定”故障。由于部分显卡能被识别,说明核心驱动大概率已安装,问题多集中在个别硬件故障、供电/散热瓶颈或底层配置上。nvidia-smi 依赖 NVIDIA 驱动,而 lspci 依赖主板 PCIe 通道。首先需要确认主板是否识别到了全部 8 张卡:lspci | grep -i nvidia。dmesg -T | grep -iE 'nvrm|nvidia|xid|pcie|aer|fatal|gpu|fallen off' | tail -n 100。RmInitAdapter failed、fallen off the bus 或 Xid 等报错信息。日志中通常会包含类似 0000:84:00.0 的 PCI 总线地址,这能帮您直接锁定是哪一张卡出现了问题。dmesg 找到了异常卡的 PCI 地址(如 0000:84:00.0),可尝试在线重置:echo 1 | sudo tee /sys/bus/pci/devices/0000:84:00.0/reset,然后再次运行 nvidia-smi -L 查看是否恢复。nvidia-bug-report.sh 收集日志,或者重新安装当前版本的 NVIDIA 驱动。nvidia-smi -pm 1 开启内存常驻模式,防止驱动在空闲时被卸载导致识别延迟或失败。
一、日志报错根因
日志核心报错:nvidia-smi failed because it couldn't communicate with the NVIDIA driver
7 张 GPU 正常、8 张失效:典型 PCIE 资源上限、BIOS 插槽供电、GPU 虚拟化、IO 空间资源不足问题;
nvidia-persistenced服务反复启动失败:底层 NVIDIA 内核驱动无法和 GPU 硬件通信,并非单纯服务故障;
单卡数量阈值卡在 7 张,主板 PCIE 地址空间、SR-IOV、PCIe 总线拆分配置限制。
二、BIOS 关键配置修改(必做,解决 8 卡资源不足)
重启服务器按Del进入 BIOS,修改以下参数:
PCIE 相关核心参数
PCIe Memory Allocation:设置为 Enabled(强制分配大段 MMIO 内存,多 GPU 必备)
PCIe 64-bit BAR Support:Enabled(8 卡必须开启,32 位地址空间不足以容纳 8 块显卡 BAR)
SR-IOV Global Support:Disabled(未使用 GPU 虚拟化时关闭,释放 PCIE 资源)
PCIe ASPM 省电:Disabled(多卡供电协商冲突,关闭节能)
GPU 供电 / 算力配置
GPU Power Management:Performance 高性能模式
关闭 CPU C-State、Package C-State 节能,避免 CPU 电源管理干扰 GPU 总线
插槽拆分设置
R5350 G6 主板 PCIE 插槽拆分默认可能为 x8+x8,8 张 GPU 需要所有插槽拆分至 x16,或调整总线分组,均分 PCIE 资源;
将所有 GPU 插槽 PCIe Speed 锁定为 Gen4,关闭 Auto 自适应协商。
三、内核启动参数扩容 MMIO 地址(Linux 系统修复)
1. 修改 grub 配置
bash
运行
vi /etc/default/grub
修改内核启动参数,添加 PCI 大内存分配参数:
plaintext
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pci=realloc pci=nobar pci=64bit"
参数说明:
pci=realloc:重新分配 PCIe 内存资源,解决多卡 BAR 地址冲突
pci=64bit:强制启用 64 位 BAR 寻址,突破 32 位地址上限
2. 更新 grub 并重启
bash
运行
update-grub
reboot
四、NVIDIA 驱动与 persistenced 服务修复
验证内核驱动是否加载
bash
运行
# 查看NVIDIA内核模块
lsmod | grep nvidia
# 无输出代表驱动加载失败,重装匹配服务器内核的NVIDIA驱动
修复 persistenced 服务(日志反复启动失败)
bash
运行
# 临时关闭自动重启循环
systemctl stop nvidia-persistenced
systemctl disable nvidia-persistenced
# 手动测试驱动通信
nvidia-smi
若执行nvidia-smi仍无输出,代表硬件 / BIOS 资源问题,不是服务问题。
3. 驱动重装建议
服务器多卡场景使用生产专用数据中心驱动(535/550 系列),不要使用桌面版驱动;安装时启用 DKMS 适配内核。
五、硬件层面排查(7 卡正常 8 卡失效专属)
电源功率不足
R5350 G6 标配电源无法承载 8 张高性能 GPU,满配 8 卡需更换冗余大功率铂金电源,供电不足会导致第 8 张 GPU 无法被 PCIe 总线枚举,系统识别不到硬件。
PCIE 背板 / 插槽硬件冲突
调整 GPU 插槽位置,不要集中在同一组 PCIE 总线;更换第 8 张 GPU 位置、替换显卡交叉测试,排除单张显卡硬件故障。
散热过热降权
8 卡高密度散热压力大,GPU 过热会被主板屏蔽,进 iBMC 查看硬件温度告警。
六、快速验证步骤
BIOS 修改 + 内核参数更新后重启,执行lspci | grep VGA,查看能否枚举全部 8 块 NVIDIA 显卡;
lspci 看不到 8 张卡:BIOS / 电源 / PCIE 资源问题;
lspci 能看到全部显卡,但nvidia-smi无输出:驱动不兼容、BAR 地址冲突。
关闭nvidia-persistenced服务,不影响nvidia-smi查询,仅影响 GPU 持久算力缓存。
七、极简总结
故障核心:8 块 GPU 占用 PCIE 32 位 BAR 地址空间溢出,BIOS 未开启 64 位大内存分配,导致第 8 张卡驱动通信失败。
处理顺序:开启 BIOS PCIe 64-bit BAR+MMIO 分配 → 内核添加 pci=realloc 参数 → 确认电源功率充足 → 重装适配多卡 NVIDIA 驱动。
暂无评论
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
暂无评论