最终的结论。
分析结果总结
** **经过深入排查,以下是完整的诊断结论:
** **数据层一切正常:
** **- NVML 库 (libnvidia-ml.so.580.142) 正确枚举两张 GPU,返回不同的显存、温度数据
** **- /proc/driver/nvidia/gpus/ 下两张卡分别有正确的 PCI BusID、UUID、Model
** **- dmesg 无 NVIDIA 报错
** **发现了一个可能的诱因:
** **DRM 设备层有一个"多余"的 card0:
** ****──────────**─────────────────**─────────────────────────────────────**
** ** DRM 设备 ** **物理 GPU ** ** **驱动 ** ****
** ****──────────**─────────────────**─────────────────────────────────────**
** ** card0 **** 0a:00.0 (GPU 1) ** simple-framebuffer (内核基本帧缓冲) **
** ****──────────**─────────────────**─────────────────────────────────────**
** ** card1 **** 05:00.0 (GPU 0) ** nvidia (专有驱动) ** ****
** ****──────────**─────────────────**─────────────────────────────────────**
** ** card2 **** 0a:00.0 (GPU 1) ** nvidia (专有驱动) ** ****
** ****──────────**─────────────────**─────────────────────────────────────**
** **GPU 1 被两个不同的 DRM 驱动接管了两次:一次是内核 simple-framebuffer(用于基本显示输出),另一次是 NVIDIA 专有驱动。
** **问题定位: FlyNAS 的 libigputop.so 库在枚举 GPU 时,可能通过 /sys/class/drm/card* 扫描设备而非纯 NVML API。card0
** **的存在导致它:
** **- 错误地把 card0 (simple-framebuffer) 当成一张独立 GPU
** **- 或者因为混淆了索引而把同一张卡的数据重复显示
** **这解释了为什么内核升级后开始出问题 — 6.18.18-trim 可能改变了 simple-framebuffer 的绑定行为(之前 T600
** **时代可能没有这个冲突)。
** **可以尝试的修复方向:
** 1. 禁用 simple-framebuffer**(最可能的修复):在 GRUB 引导参数中添加 video=simplefb:off,看看 card0 是否消失
** 2. 向飞牛 NAS 反馈此 bug**,附上内核版本 6.18.18-trim、驱动 580.142、以及 card0 的重复 DRM 枚举信息
** 3. 临时方案**:终端里直接用 nvidia-smi 或 watch -n 5 nvidia-smi 查看真实 GPU 状态