Quadro P2000安装CUDA 11.2后nvidia-smi报Internal error的调试修复求助
问题背景
- 硬件:Nvidia Quadro P2000
- 已装环境:CUDA 11.2,显卡驱动版本R460 U5(461.92)
- 异常表现:
- 执行
nvidia-smi命令时,输出的进程列表区块报错,代码片段如下:+-----------------------------------------------------------------------------+ | Processes: GPU Memory | | GPU PID Type Process name Usage | |=============================================================================| Internal error - 执行
nvidia-smi -v命令无正常返回,无法获取版本校验信息。
- 执行
调试与修复步骤
- 验证内核驱动模块加载状态
执行lsmod | grep nvidia,确认nvidia.ko、nvidia_uvm、nvidia_modeset、nvidia_drm四个核心模块是否全部正常加载,各模块版本号是否统一匹配461.92。如果存在模块缺失、版本不一致的情况,先执行sudo nvidia-uninstall清除现有驱动残留文件,重启系统后重新安装与CUDA11.2适配的R460分支驱动,安装过程中关闭自动跟随系统更新驱动的选项,避免系统自动推送的高版本驱动覆盖现有匹配版本。注意:安装驱动过程中不要跳过内核模块编译、DKMS注册环节,否则会出现模块加载版本不匹配的问题。 - 排查NVML库路径冲突
nvidia-smi依赖libnvidia-ml.so库获取GPU状态数据,先执行ldconfig -p | grep libnvidia-ml查看系统库的搜索优先级。如果返回结果中,其他路径的NVML库(如部分深度学习框架、虚拟化软件自带的旧版NVML库)排在当前驱动自带库的路径前面,就会触发接口内部错误。此时需要调整ldconfig配置,将驱动自带的库路径优先级调高,或者删除冲突路径下的冗余库文件。 - 检查配套服务与运行环境
执行systemctl status nvidia-persistenced确认持久化服务状态,如果服务为failed状态,手动启动服务后重试命令。如果是在Docker、K8s等容器环境下运行nvidia-smi,需要确认容器启动时添加了--pid=host参数,缺少该参数时nvidia-smi无法读取宿主机进程信息,会直接在进程列表区块抛出内部错误。 - 硬件与驱动兼容性排查
执行lspci | grep -i nvidia确认P2000设备是否被系统正常识别,如果识别结果异常,重新插拔显卡、更换PCIe插槽测试。如果所有软件层面排查均无问题,可回退到R460分支的公版稳定驱动(如460.91),部分OEM厂商定制的U5补丁版本驱动存在NVML进程查询接口的bug,会固定触发内部错误。
内容的提问来源于stack exchange,提问作者blueMamut
相关产品推荐
相关产品推荐

