Docker上的“ nvidia-smi”不显示“进程”是否正确?

时间:2020-08-30 07:09:21

标签: docker ubuntu nvidia

当我在Docker上运行“ nvidia-smi”时,它没有出现在“进程”部分中是正常现象吗?

我正在使用ubuntu上的Docker + GPU构建一个用于在ubuntu上进行深度学习的环境。

我认为这已经完成了,但是有一件事困扰着我。 在Ubuntu上执行“ nvidia-smi”时,我看到“进程”。

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 440.100      Driver Version: 440.100      CUDA Version: 10.2     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 166...  Off  | 00000000:01:00.0  On |                  N/A |
| 42%   37C    P8     8W / 125W |    249MiB /  5936MiB |      3%      Default |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      1127      G   /usr/lib/xorg/Xorg                            35MiB |
|    0      2006      G   /usr/lib/xorg/Xorg                            94MiB |
|    0      2202      G   /usr/bin/gnome-shell                          97MiB |
|    0      6565      G   /usr/lib/firefox/firefox                       2MiB |
|    0      7875      G   /usr/lib/firefox/firefox                       2MiB |
|    0     10070      G   /usr/lib/firefox/firefox                       2MiB |
+-----------------------------------------------------------------------------+

当我在Docker上执行“ nvidia-smi”时,看不到“进程”。

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 440.100      Driver Version: 440.100      CUDA Version: 10.2     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 166...  Off  | 00000000:01:00.0  On |                  N/A |
| 42%   36C    P8     8W / 125W |    342MiB /  5936MiB |      2%      Default |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
+-----------------------------------------------------------------------------+

当我运行“ Jupyter Notebook”时,GPU似乎正在运行。

“这是一个规范,”我读了几年前写的一篇文章。

是否仍然没有显示Process是“规范”? 还是因为我没有正确安装?

把你的智慧借给我。 谢谢你!

3 个答案:

答案 0 :(得分:0)

是的,由于驱动程序不知道PID名称空间,您将看不到。您可以特别使用Python仔细阅读线程和变通方法,

https://github.com/NVIDIA/nvidia-docker/issues/179#issuecomment-598059213

(我假设您未使用VM,因为在显示的日志中持久性模式为OFF)。

答案 1 :(得分:0)

谢谢你的建议。

在这一点上,我对GPU驱动程序似乎在Docker上正常工作感到放心。 在这种状态下,我会尝试一段时间。

我将检查您告诉我的“ github”站点。

非常感谢。那真的很有帮助。

(正如您所指出的,我没有使用VM。)

答案 2 :(得分:0)

一个 shim 驱动程序允许 in-docker nvidia-smi 显示正确的进程列表而无需修改任何内容。

https://github.com/matpool/mpu