pytorc使用后正确释放GPU内存以及检测GPU使用情况
Song • 26167 次浏览 • 0 个回复 • 2018年04月19日

PyTorch
使用缓存内存分配器来加速内存分配。因此,nvidia-smi
所显示的值通常不会反映真实的内存使用情况。
PyTorch
使用缓存内存分配器来加速内存分配。这允许在没有设备同步的情况下快速释放内存。但是,由分配器管理的未使用的内存仍将显示为在nvidia-smi
中使用。您可以使用memory_allocated()
和max_memory_allocated()
监视张量占用的内存,并使用memory_cached()
和 max_memory_cached()
监视由缓存分配器管理的内存。调用empty_cache()
可以从PyTorch
释放所有未使用的缓存内存,以便其他GPU
应用程序可以使用这些内存。但是,被张量占用的GPU
内存不会被释放,因此它不能增加PyTorch
可用的GPU
内存量。
如果您的GPU
内存在Python
退出后仍未释放,那么很可能某些Python
子进程仍然存在。你可以通过ps -elf | grep python
找到他们 并手动kill
进程。
kill -9 [pid]
原创文章,转载请注明 :pytorc使用后正确释放GPU内存以及检测GPU使用情况 - pytorch中文网
原文出处: https://ptorch.com/news/161.html
问题交流群 :168117787
- 没有评论