找不到 nvidia-smi 可执行文件

nvidia-smi executable file not found

关于这个确切的问题,我在 nvidia-docker repo 中经历了 3 个不同的问题,但实际上无法找出问题所在。

我是重度 docker 用户,但我不太了解这些问题中使用的术语和解决方案。

当我 运行 nvidia-smi 是否使用 sudo 时,一切都很好,我得到了标准输出。 我的 nvidia-docker-plugin 已启动并 运行ning,当我 运行 nvidia-docker run --rm nvidia/cuda nvidia-smi:

时收到这些消息

nvidia-docker-plugin | 2017/11/04 09:14:18 Received mount request for volume 'nvidia_driver_387.22' Blockquote nvidia-docker-plugin | 2017/11/04 09:14:18 Received unmount request for volume 'nvidia_driver_387.22'

我还尝试 运行 deepo 存储库,但无法让它工作,因为我的所有容器在启动时退出,并且 nvidia-docker run --rm nvidia/cuda nvidia-smi 输出错误:

container_linux.go:247: starting container process caused "exec: \"nvidia-smi\": executable file not found in $PATH" /usr/bin/docker-current: Error response from daemon: oci runtime error: container_linux.go:247: starting container process caused "exec: \"nvidia-smi\": executable file not found in $PATH".

我做错了什么?

我运行 Fedora 26,如果有什么区别的话

在 Ubuntu 上,您应该安装 nvidia-modprobe 包。我知道这也存在于 Fedora 中。出于某种原因,不需要记录这种依赖关系。

我刚刚解决了这个问题。

删除与 nvidia-docker-plugin 相关的卷解决了问题。

对于未来的读者,只需读出您 nvidia-docker-plugin 上的日志消息,查找 mount/unmount 记录的行,然后使用以下命令删除卷

docker volume rm -f <volume_to_remove> 其中 volume_to_remove 应该类似于 nvidia_driver_387.22(符合我的情况)

似乎问题在于,到 nvidia-smi 调用的映射是在创建卷时进行的,删除并重新附加卷可以解决此问题