The website uses cookies. By using this site, you agree to our use of cookies as described in the Privacy Policy.
I Agree

pytorc使用后正确释放GPU内存以及检测GPU使用情况

Song • 16995 次浏览 • 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
提交评论
要回复文章请先登录注册
用户评论
  • 没有评论
    公告
    本站主要用于提供Pytorch,Torch等深度学习框架分享交流使用,本站包括Pytorch/Torch最新资讯,中文文档,中文交流社区。如有问题,大家可在社区交流讨论!谢谢大家!
    好书推荐
    全站搜索
    关注我们
Measure
Measure
Summary | 1 Annotation
memory_allocated()和max_memory_allocated()监视张量占用的内存,并使用memory_cached()和 max_memory_cached()监视由缓存分配器管理的内存
2021/02/07 03:13