Gpustack 运行一段时间后出现 Failed to initialize NVML: Unknown Error 解决办法

当 systemd 用于管理容器的 cgroup 并触发它重新加载任何引用 NVIDIA GPU 的 Unit 文件(例如 systemctl daemon-reload)时,容器化 GPU 工作负载可能会突然失去对其 GPU 的访问权限。

在 GPUStack 中,GPU 可能会在“资源”菜单中丢失,并且在 GPUStack 容器中运行  nvidia-smi  可能会导致错误: Failed to initialize NVML: Unknown Error

为了防止此问题 ,需要在 Docker 中禁用 systemd cgroup 管理。

在  /etc/docker/daemon.json  文件中设置参数 “exec-opts”: [“native.cgroupdriver=cgroupfs”] 并重新启动 docker,例如:

vim /etc/docker/daemon.json

{
  "runtimes": {
    "nvidia": {
      "args": [],
      "path": "nvidia-container-runtime"
    }
  },
  "exec-opts": ["native.cgroupdriver=cgroupfs"]
}

systemctl daemon-reload && systemctl restart docker

相关链接

posted @ 2025-07-31 15:40  DHclly  阅读(360)  评论(0)    收藏  举报