我有两个正在运行的 2080Ti。在 Linux (14.04) 更新后,我开始收到此错误:
NVIDIA_SMI 失败,因为它无法与 NVIDIA 驱动程序通信。请确保最新的 NVIDIA 驱动程序已安装并正在运行。
我尝试了以下方法(基本上是我在互联网上能找到的所有内容)来修复它:
- 清除所有 Nvidia 安装并使用重新安装
apt-get install nvidia-drivers-418
- 尝试从 NVidia 源重新安装
- 将我的内核降级为
4.15.0-46-generic
并4.15.0-47-generic
重复步骤 1 和 2。 - 安装cuda10.1
- 已禁用安全启动
我不知道还能做什么。
ldconfig -v | grep nvidia
/sbin/ldconfig.real: Path `/usr/local/cuda-10.1/targets/x86_64-linux/lib' given more than once
/sbin/ldconfig.real: Can't stat /usr/local/lib/x86_64-linux-gnu: No such file or directory
/sbin/ldconfig.real: Path `/lib/x86_64-linux-gnu' given more than once
/sbin/ldconfig.real: Path `/usr/lib/x86_64-linux-gnu' given more than once
/sbin/ldconfig.real: /lib/x86_64-linux-gnu/ld-2.27.so is the dynamic linker, ignoring
libnvidia-fbc.so.1 -> libnvidia-fbc.so.410.104
libnvidia-compiler.so.410.104 -> libnvidia-compiler.so.410.104
libnvidia-tls.so.410.104 -> libnvidia-tls.so.410.104
libGLX_nvidia.so.0 -> libGLX_nvidia.so.410.104
libnvidia-cfg.so.1 -> libnvidia-cfg.so.410.104
libnvidia-ml.so.1 -> libnvidia-ml.so.410.104
libnvidia-opencl.so.1 -> libnvidia-opencl.so.410.104
libnvidia-eglcore.so.410.104 -> libnvidia-eglcore.so.410.104
libnvidia-glcore.so.410.104 -> libnvidia-glcore.so.410.104
libnvidia-ptxjitcompiler.so.1 -> libnvidia-ptxjitcompiler.so.410.104
libnvidia-glvkspirv.so.410.104 -> libnvidia-glvkspirv.so.410.104
libnvidia-fatbinaryloader.so.410.104 -> libnvidia-fatbinaryloader.so.410.104
libEGL_nvidia.so.0 -> libEGL_nvidia.so.410.104
libnvidia-rtcore.so.410.104 -> libnvidia-rtcore.so.410.104
libnvidia-glsi.so.410.104 -> libnvidia-glsi.so.410.104
libGLESv1_CM_nvidia.so.1 -> libGLESv1_CM_nvidia.so.410.104
libnvidia-ifr.so.1 -> libnvidia-ifr.so.410.104
libnvidia-encode.so.1 -> libnvidia-encode.so.410.104
libnvidia-cbl.so.410.104 -> libnvidia-cbl.so.410.104
/sbin/ldconfig.real: /lib32/ld-2.27.so is the dynamic linker, ignoring
libGLESv2_nvidia.so.2 -> libGLESv2_nvidia.so.410.104
libnvidia-gtk3.so.418.56 -> libnvidia-gtk3.so.418.56
libnvidia-gtk2.so.418.56 -> libnvidia-gtk2.so.418.56
libnvidia-tls.so.410.104 -> libnvidia-tls.so.410.104
答案1
也许您没有正确设置库路径。要验证这一点,请运行ldconfig -v | grep nvidia
并查看输出是否包含许多libnvidia*.so
。
以下是我的输出:
libnvidia-glcore.so.410.104 -> libnvidia-glcore.so.410.104
libnvidia-rtcore.so.410.104 -> libnvidia-rtcore.so.410.104
libEGL_nvidia.so.0 -> libEGL_nvidia.so.410.104
libnvidia-ifr.so.1 -> libnvidia-ifr.so.410.104
libGLX_nvidia.so.0 -> libGLX_nvidia.so.410.104
libGLESv2_nvidia.so.2 -> libGLESv2_nvidia.so.410.104
libnvidia-tls.so.410.104 -> libnvidia-tls.so.410.104
libnvidia-compiler.so.410.104 -> libnvidia-compiler.so.410.104
libnvidia-egl-wayland.so.1 -> libnvidia-egl-wayland.so.1.1.0
libGLESv1_CM_nvidia.so.1 -> libGLESv1_CM_nvidia.so.410.104
libnvidia-glsi.so.410.104 -> libnvidia-glsi.so.410.104
libnvidia-eglcore.so.410.104 -> libnvidia-eglcore.so.410.104
libnvidia-opencl.so.1 -> libnvidia-opencl.so.410.104
libnvidia-fatbinaryloader.so.410.104 -> libnvidia-fatbinaryloader.so.410.104
libnvidia-cbl.so.410.104 -> libnvidia-cbl.so.410.104
libnvidia-container.so.1 -> libnvidia-container.so.1.0.2
libnvidia-encode.so.1 -> libnvidia-encode.so.410.104
libnvidia-ml.so.1 -> libnvidia-ml.so.410.104
libnvidia-ptxjitcompiler.so.1 -> libnvidia-ptxjitcompiler.so.410.104
libnvidia-glvkspirv.so.410.104 -> libnvidia-glvkspirv.so.410.104
libnvidia-fbc.so.1 -> libnvidia-fbc.so.410.104
libnvidia-cfg.so.1 -> libnvidia-cfg.so.410.104
libnvidia-gtk2.so.418.40.04 -> libnvidia-gtk2.so.418.40.04
libnvidia-gtk3.so.418.40.04 -> libnvidia-gtk3.so.418.40.04
libnvidia-tls.so.410.104 -> libnvidia-tls.so.410.104
为了解决这个问题,创建一个新文件/etc/ld.so.conf.d/nvidia.conf
并编辑:
/usr/local/cuda-10.1/targets/x86_64-linux/lib
确保/usr/local/cuda-10.1/targets/x86_64-linux/lib
包含 nvidia 共享库。ldconfig -v | grep nvidia
再次执行。