清除cuda显存

今天在kaggle上跑模型的时候发现,模型还没开始跑就已经占用了11G的显存。这时候就需要清除一下系统中缓存的显存占用。

显存

我们先来查看一下系统显存占用情况:

import torch

def get_gpu_memory():
    gpu_memory = torch.cuda.memory_allocated() / 1024 / 1024 / 1024  # in MB
    return gpu_memory

print(f"init GPU Memory Used: {get_gpu_memory()} GB")

init GPU Memory Used: 11.563772201538086 GB

然后我们来清除

from numba import cuda

cuda.select_device(0)
cuda.close()

再执行一下get_gpu_memory发现占用的显存已经没了

init GPU Memory Used: 0.0 GB

另外,用下面这个方法也可以清除系统中缓存的显存占用

import torch

torch.cuda.empty_cache()

内存

顺便,我们来看看内存怎么查询和清除

  • 查询内存占用情况
import psutil

# 获取系统内存占用情况
memory_info = psutil.virtual_memory()

# 获取总内存大小(以字节为单位)
total_memory = memory_info.total

# 获取已使用的内存大小(以字节为单位)
used_memory = memory_info.used

# 获取空闲内存大小(以字节为单位)
free_memory = memory_info.available

# 打印内存使用情况
print(f"Total Memory: {total_memory / (1024 * 1024 * 1024)} GB")
print(f"Used Memory: {used_memory / (1024 * 1024 * 1024)} GB")
print(f"Free Memory: {free_memory / (1024 * 1024 * 1024)} GB")

Total Memory: 31.357559204101562 GB
Used Memory: 0.91534423828125 GB
Free Memory: 29.996959686279297 GB

  • 清除占用内存
import gc

gc.collect()
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇