我在尝试解决新脚本中的一些错误时经常重新运行相同的 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不能立即知道脚本不再需要内存,那么出现几秒甚至几十秒的延迟也是可以理解的,但是我已经等了好几分钟,仍然看到相同的显示。这是怎么回事?我是否需要进行一些内存清理?如果需要,应该如何操作?谢谢新手的任何提示。