我使用 theano 进行一些深度学习实验。我已经通过 ctrl+c 杀死了一个运行了 3 周的进程,以启动一个新进程。
如我所见,虽然我已经杀死了进程,但gpu内存并没有被释放。根据 nvidia-smi,内存是免费的,除了 23MB 的少量使用。我用特斯拉k40。
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 367.57 Driver Version: 367.57 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 Tesla K40m Off | 0000:85:00.0 Off | 0 |
| N/A 24C P8 21W / 235W | 23MiB / 11439MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 2873 G /usr/lib/xorg/Xorg 23MiB |
+-----------------------------------------------------------------------------+
但实际上,当我尝试运行非常小的数据集时,我会遇到内存错误。如果它只有 23 MB 的使用量,那根本不是问题。
我在使用的机器上没有 sudo 权限。我该如何解决这个问题?