Just another IT site ※IT系の記事は当方環境での実施内容となるため実施する場合は自己責任でお願いいたします。At Your Own Risk!! TURN BACK WHILE YOU CAN
PR

【WSL2】/tmp の容量を増やす方法|fstabが未設定の場合と上限の考え方

※IT系の記事は当方環境での実施内容となるため実施する場合は自己責任でお願いいたします。スクリプトはAI生成のものも多いのでコピー&ペーストの際は文字コードに注意ください!

WSL2のUbuntuで /tmp の容量が足りない場合は、まず /tmptmpfs なのか、通常の ext4 上にあるのかを確認します。

df -h /tmp
findmnt /tmp
スポンサーリンク
バッチ処理の自動化スキルは市場価値が高いです。今の自分の単価を調べてみませんか?
顧客常駐はもう嫌だ!社内SEへ転職するなら【社内SE転職ナビ】
Cursor・Claude Code・Codex AIスキルを学ぶなら
環境構築不要!AIエージェント開発を非エンジニアでも即実践【AI Agent Camp】

/tmp が tmpfs の場合

tmpfsなら、一時的に容量を増やせます。

例えば8GBにする場合:

sudo mount -o remount,size=8G /tmp

確認:

df -h /tmp

再起動後も有効にしたい場合は /etc/fstab に設定します。

tmpfs /tmp tmpfs defaults,size=8G,mode=1777 0 0

fstabが未設定でも問題ない

/etc/fstab を開いて、

# UNCONFIGURED FSTAB FOR BASE SYSTEM

しか書かれていなくても異常ではありません。

単にfstabがまだ使われていないだけなので、その下に追記できます。

# UNCONFIGURED FSTAB FOR BASE SYSTEM

tmpfs /tmp tmpfs defaults,size=8G,mode=1777 0 0

反映:

sudo mount -a

確認:

df -h /tmp

ただし、現在 /tmp がext4上にある場合、この設定を追加すると「容量を増やす」のではなく、/tmpを新たにtmpfsへ変更することになります。

/tmp がext4の場合

/tmp がルートファイルシステムと同じext4上なら、

df -h /

でWSL全体の空き容量を確認します。

容量不足なら、不要ファイルを削除するか、Windows側からWSL2の仮想ディスクを拡張します。

例えば:

wsl --shutdown
wsl --manage Ubuntu --resize 2TB

tmpfsの上限は?

size=8G と指定した場合、/tmp の論理的な上限は8GBです。

ただし、tmpfsは通常のディスクではなく、

RAM
+
Swap

を使います。

そのため、実際に使える容量はWSL2全体のメモリ状況に影響されます。

例えば .wslconfig が、

[wsl2]
memory=8GB
swap=4GB

なら、WSL2全体として利用できるメモリ資源は概ね、

RAM 8GB
+
Swap 4GB

の範囲になります。

ここからUbuntu本体や他のプロセスもメモリを使います。

つまり、

/tmp size=16G

と設定すること自体はできても、実際に16GB全部を安全に使えるとは限りません。

size未指定時のtmpfs

Linuxのtmpfsは、size= を指定しない場合、既定では物理RAMの50%程度が上限になります。

そのため、

df -h /tmp

で想定より小さく見える場合は、tmpfsの既定上限が原因のことがあります。

現在のメモリとSwapを確認する

WSL2側では、

free -h

で確認できます。

例えば、

Mem:   8.0Gi
Swap:  4.0Gi

なら、tmpfsを大きくしすぎると、他のプロセスとメモリを取り合うことになります。

実運用では、WSL2へ8GB割り当てているなら、

/tmp 4GB~8GB程度

など、ある程度余裕を残した方が安全です。

まとめ

WSL2の /tmp 容量不足では、まず、

df -h /tmp
findmnt /tmp

を確認します。

判断は次の通りです。

状態 対処
/tmp がtmpfs size= を増やす
fstabが未設定 そのまま設定を追記してよい
/tmp がext4 WSL全体のディスク容量を確認
tmpfsを大きくしたい RAM+Swapとのバランスを見る

tmpfsの size= はあくまで最大値です。

実際に使える容量は、WSL2へ割り当てたRAM・Swap・他プロセスの使用量に左右される

と考えると分かりやすいでしょう。

タイトルとURLをコピーしました