Google Colabで学習を回していると、こんな経験はありませんか?
- 「ResourceExhaustedError: OOM when allocating tensor」が出て学習が止まった
- データセットを保存しようとしたら「No space left on device」と出た
- そもそも今どのくらいメモリを使っているのか確認したい
本記事では、Google ColabのRAM(メモリ)・ディスク容量・GPUメモリをPythonコードで確認する方法をまとめました。コピペで動くコードを用意しているので、そのままご利用ください。
この記事を読むとわかること:
- ColabのRAM使用量をPythonで確認する方法
- ディスクの空き容量を確認する方法
- GPUメモリの使用状況を確認する方法
- メモリ不足(OOMエラー)が出たときの対処法
まず結論:一発で全部確認できるコード
細かい説明は後回しにして、まずコピペで動くコードを置きます。ColabのコードセルにそのままペーストしてRunしてください。
import psutil
import shutil
import subprocess
# ── RAM(メモリ)──────────────────────────────────────
ram = psutil.virtual_memory()
print("===== RAM(メモリ)=====")
print(f" 合計 : {ram.total / 1024**3:.1f} GB")
print(f" 使用中 : {ram.used / 1024**3:.1f} GB")
print(f" 空き : {ram.available / 1024**3:.1f} GB")
print(f" 使用率 : {ram.percent:.1f} %")
# ── ディスク容量 ──────────────────────────────────────
disk = shutil.disk_usage("/")
print("\n===== ディスク容量 =====")
print(f" 合計 : {disk.total / 1024**3:.1f} GB")
print(f" 使用中 : {disk.used / 1024**3:.1f} GB")
print(f" 空き : {disk.free / 1024**3:.1f} GB")
print(f" 使用率 : {disk.used / disk.total * 100:.1f} %")
# ── GPUメモリ(GPU使用時のみ)──────────────────────────
try:
result = subprocess.run(
["nvidia-smi", "--query-gpu=memory.total,memory.used,memory.free",
"--format=csv,noheader,nounits"],
capture_output=True, text=True
)
total, used, free = result.stdout.strip().split(",")
print("\n===== GPUメモリ =====")
print(f" 合計 : {int(total):,} MB")
print(f" 使用中 : {int(used):,} MB")
print(f" 空き : {int(free):,} MB")
except:
print("\nGPU: 未接続(ランタイムをGPUに変更してください)")
実行結果例
===== RAM(メモリ)===== 合計 : 12.7 GB 使用中 : 0.7 GB 空き : 11.7 GB 使用率 : 7.7 % ===== ディスク容量 ===== 合計 : 112.6 GB 使用中 : 43.5 GB 空き : 69.1 GB 使用率 : 38.6 % ===== GPUメモリ ===== 合計 : 15,360 MB 使用中 : 0 MB 空き : 14,913 MB
以降のセクションでは、各コードの詳細と数値の見方を説明します。
RAMの確認方法
psutilを使う
psutil(process and system utilities)はシステムリソースを取得するPythonライブラリです。Google Colabにはデフォルトでインストール済みなのでpip installは不要です。
import psutil
ram = psutil.virtual_memory()
print(f"合計 : {ram.total / 1024**3:.1f} GB")
print(f"使用中 : {ram.used / 1024**3:.1f} GB")
print(f"空き : {ram.available / 1024**3:.1f} GB")
print(f"使用率 : {ram.percent:.1f} %")
各数値の意味
total:Colabランタイムに割り当てられたRAMの合計。無料版は約12〜13GB、Pro版は約25GB程度です。
used:現在使用中のRAM量です。モデルのロードやデータの読み込みで増加します。
available:すぐに使える空きRAMです。total - usedと一致しないことがあります(キャッシュの扱いによる)。
percent:80%を超えてきたらOOMエラーのリスクが高まります。学習前に確認する習慣をつけると良いです。
shellコマンドで確認する方法(参考)
Pythonコードではなくshellコマンドで確認したい場合は以下で代替できます。
!free -h
ディスク容量の確認方法
Colabのディスクとはどこか
Colabのディスクはランタイムのローカルストレージです。Googleドライブとは別の領域で、セッションが終了するとリセットされます。
容量の目安は無料版で約110〜113GBです。大きなデータセット(ImageNetなど)を扱う場合は注意が必要です。
import shutil
disk = shutil.disk_usage("/")
print(f"合計 : {disk.total / 1024**3:.1f} GB")
print(f"使用中 : {disk.used / 1024**3:.1f} GB")
print(f"空き : {disk.free / 1024**3:.1f} GB")
print(f"使用率 : {disk.used / disk.total * 100:.1f} %")
Googleドライブの空き容量を確認したい場合
Driveをマウントした後、マウントポイントのパスを指定します。
from google.colab import drive
import shutil
drive.mount('/content/drive')
drive_disk = shutil.disk_usage('/content/drive')
print(f"Drive 合計 : {drive_disk.total / 1024**3:.1f} GB")
print(f"Drive 空き : {drive_disk.free / 1024**3:.1f} GB")
GPUメモリの確認方法(おまけ)
RAMとは別に、GPU専用のメモリ(VRAMと呼ばれることもある)も確認できます。OOMエラーはRAMよりGPUメモリ不足で起きることが多いため、あわせて確認しておくと便利です。
nvidia-smiを使う方法(最もシンプル)
!nvidia-smi
TensorFlowで確認する方法
import tensorflow as tf
gpus = tf.config.list_physical_devices('GPU')
if gpus:
for gpu in gpus:
print(f"GPU: {gpu.name}")
details = tf.config.experimental.get_memory_info('GPU:0')
print(f"現在の使用量 : {details['current'] / 1024**2:.1f} MB")
print(f"ピーク使用量 : {details['peak'] / 1024**2:.1f} MB")
else:
print("GPUが検出されませんでした")
GPUの詳しい確認方法は → 【2026年版】Google ColabでOS・GPU・CUDAバージョンを確認する方法 で解説しています。
学習前後でメモリ使用量を比較する実用例
モデルのロードや学習がRAMにどの程度影響するかを計測する実用的なコードです。「モデルを乗せたらメモリがどれくらい増えるか」を把握しておくと、OOMエラーの予防に役立ちます。
import psutil
import tensorflow as tf
from tensorflow import keras
def get_ram_gb():
"""現在のRAM使用量をGBで返す"""
return psutil.virtual_memory().used / 1024**3
# モデルロード前
before = get_ram_gb()
print(f"モデルロード前 : {before:.2f} GB")
# モデル構築
model = keras.Sequential([
keras.layers.Input(shape=(32, 32, 3)),
keras.layers.Conv2D(64, (3,3), activation='relu', padding='same'),
keras.layers.GlobalAveragePooling2D(),
keras.layers.Dense(10, activation='softmax')
])
# モデルロード後
after = get_ram_gb()
print(f"モデルロード後 : {after:.2f} GB")
print(f"増加量 : {after - before:.3f} GB")
実行結果例
モデルロード前 : 2.85 GB モデルロード後 : 3.08 GB 増加量 : 0.236 GB
メモリ不足(OOMエラー)が出たときの対処法
RAM使用率が高い・GPUメモリが不足しているときの対処法をまとめます。
すぐできる対処3つ
1. batch_sizeを小さくする
バッチサイズを半分にするとGPUメモリ使用量が大幅に減ります。64→32→16と試してみてください。バッチサイズの影響については → バッチサイズを変えると精度や学習効率はどう変わる?
2. ランタイムをリセットしてから再実行する
メニューの「ランタイム → ランタイムを再起動」でメモリをクリアできます。不要なオブジェクトがメモリに残っていることが原因の場合に有効です。
3. モデルを軽量化する
filters数を減らす・Dense層のユニット数を減らすことでパラメータ数が減りメモリ使用量が下がります。Conv2Dのfilters数の影響については → Conv2DのFilters数(32 vs 64 vs 128)を変えると精度はどう変わる?
根本的な解決策
無料版のRAM(約12GB)では限界がある場合はColab Proへのアップグレードを検討してください。Pro版はRAMが約25GBに増加します。GPUもT4からA100が選択可能になります。
まとめ
Google ColabのRAM・ディスク容量・GPUメモリをPythonコードで確認する方法をまとめました。
- RAM確認:psutil.virtual_memory()で合計・使用中・使用率を取得
- ディスク確認:shutil.disk_usage("/")で空き容量を取得
- GPUメモリ確認:nvidia-smi または tf.config で取得
使用率が高くなってきたらバッチサイズの削減・ランタイムのリセットで対処してください。
あわせて読みたい:
- ColabのPythonバージョン確認 → 【Google Colab】ハードウェアアクセラレータ(GPU、TPU)のバージョン確認方法と現在のバージョン
- ColabのGPU・CUDAバージョン確認 → 【2026年版】Google ColabでOS・GPU・CUDAバージョンを確認する方法
- OOMエラーの原因と対策 → Kerasでlossが下がらない時のチェックリスト

0 件のコメント:
コメントを投稿