Nvidia GPU内存已分配但没有进程?

时间:2018-12-05 20:45:38

标签: gpu mxnet

在尝试消除新脚本中的一些错误时(我是mxnet的新手),我经常重新运行相同的mxnet脚本。当我尝试运行脚本时,经常会收到错误消息:GPU内存不足,并且当我使用nvidia-smi进行检查时,这就是我看到的内容:

Wed Dec  5 15:41:29 2018
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 396.24.02              Driver Version: 396.24.02                 |
|-------------------------------+----------------------+----------------------+
| 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 108...  Off  | 00000000:65:00.0  On |                  N/A |
|  0%   54C    P2    68W / 300W |  10891MiB / 11144MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      1446      G   /usr/lib/xorg/Xorg                            40MiB |
|    0      1481      G   /usr/bin/gnome-shell                         114MiB |
|    0     10216      G   ...-token=8422C9FC67F51AEC1893FEEBE9DB68C6    31MiB |
|    0     18221      G   /usr/lib/xorg/Xorg                           458MiB |
|    0     18347      G   /usr/bin/gnome-shell                         282MiB |
+-----------------------------------------------------------------------------+

因此,似乎大多数内存都在使用中(10891/11144)但我看不到列表中的任何进程都占用了GPU的很大一部分,因此似乎没有什么可调用的。我的mxnet脚本已经退出,所以我认为不应该这样。如果GPU不立即知道脚本不再需要内存,那么我会明白是否有几秒甚至几十秒的延迟,但是我要花很多时间,仍然看到相同的显示。有什么用,我应该做一些内存清理吗?如果是这样,怎么办?感谢您提供给新手的提示。

1 个答案:

答案 0 :(得分:2)

GPU内存的使用完全取决于进程的生命周期。如果您看到使用了GPU内存,则必须有一个仍在运行的进程,并且该进程一直保留在内存中。如果您运行ps -a |grep python,则应该看到所有python进程,并且会告诉您哪个进程仍在运行。