You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker中执行nvidia-smi不显示Processes是否正常?

解答:容器内nvidia-smi看不到宿主机GPU进程是正常特性

这完全是正常的预期行为,不是你的Docker+GPU环境安装出错了!

为什么会出现这种差异?

nvidia-smi显示的进程列表是基于当前运行环境的PID命名空间的:

  • 宿主机上的nvidia-smi能看到所有在宿主机PID命名空间里的GPU进程(比如你看到的Xorg、gnome-shell、Firefox这些桌面相关进程)
  • Docker容器默认是PID隔离的,它有自己独立的PID命名空间,容器内的nvidia-smi只能识别到容器内部启动的GPU进程。宿主机的进程不在容器的命名空间里,所以自然不会显示出来。

额外说明

  1. 你提到Jupyter Notebook能正常使用GPU,这已经能证明你的Docker+NVIDIA环境配置是完全正常的,进程列表的差异不影响GPU的实际使用
  2. 容器内nvidia-smi显示的总内存使用是准确的(包含宿主机和容器自身的GPU内存占用),只是看不到具体的宿主机进程条目
  3. 如果确实需要在容器内查看宿主机的GPU进程,有两种可选方式,但一般不推荐(会打破容器隔离性):
    • 启动容器时添加--pid=host参数,共享宿主机的PID命名空间,这样容器内的nvidia-smi就能看到所有宿主机进程了
    • 通过查看容器内的/proc/driver/nvidia/gpus/<GPU-ID>/information文件,获取GPU的整体使用统计,但依然看不到具体进程

内容的提问来源于stack exchange,提问作者Ina_Ta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.09 00:33:12