Ubuntuでswapメモリを追加する方法

  • 作成日 2026.06.06
  • 更新日 2026.06.18
  • ubuntu
Ubuntuでswapメモリを追加する方法

Ubuntuでメモリ不足が発生した場合、Swap領域を追加することでシステムの安定性を向上できます。Swapは物理メモリ(RAM)が不足した際にディスク領域を仮想メモリとして利用する仕組みです。本記事ではUbuntuでSwapメモリを追加する手順を詳しく解説します。

Swapとは

SwapはRAMの代わりにディスクを利用する仮想メモリです。

主な用途は以下の通りです。

・メモリ不足時の補助

・OOM(Out Of Memory)エラーの回避

・システムの安定化

・休止状態(Hibernate)のサポート

ただしディスクはRAMより大幅に遅いため、Swapはあくまで補助的な役割となります。

現在のSwap状況を確認する

まず現在のSwap設定を確認します。

swapon --show

または

free -h

出力例

Swapが設定されていない場合は追加作業を行います。

Swapファイルを作成する

ここでは2GBのSwapファイルを作成します。

sudo fallocate -l 2G /swapfile

作成確認

ls -lh /swapfile

表示例

もしfallocateが利用できない場合はこちらです。

sudo dd if=/dev/zero of=/swapfile bs=1M count=2048

Swapファイルの権限を変更する

セキュリティのためrootのみアクセス可能にします。

sudo chmod 600 /swapfile

確認

ls -lh /swapfile

表示例

-rw------- 1 root root 2.0G

Swap領域として初期化する

Swap用にフォーマットします。

sudo mkswap /swapfile

実行例

これでSwapとして利用できる状態になります。

Swapを有効化する

Swapを有効にします。

sudo swapon /swapfile

確認

swapon --show

または

free -h

でSwap容量が表示されます。

再起動後も有効にする

現在の設定は再起動すると消えます。

自動マウント設定を追加します。

sudo nano /etc/fstab

ファイル末尾に追加

/swapfile none swap sw 0 0

保存後に設定確認します。

sudo mount -a

エラーが表示されなければ設定完了です。

swappinessを調整する

Ubuntuはメモリが十分あってもSwapを利用することがあります。

現在値確認

cat /proc/sys/vm/swappiness

一般的な推奨値

10

一時変更

sudo sysctl vm.swappiness=10

永続化

sudo nano /etc/sysctl.conf

追加

vm.swappiness=10

サーバー用途では10~20程度がよく利用されます。

Swapキャッシュ設定を確認する

現在値確認

cat /proc/sys/vm/vfs_cache_pressure

一般的な推奨値

50

変更

sudo sysctl vm.vfs_cache_pressure=50

永続化する場合

vm.vfs_cache_pressure=50

を/etc/sysctl.confへ追加します。

Swapを削除する方法

不要になった場合は停止できます。

Swap停止

sudo swapoff /swapfile

ファイル削除

sudo rm /swapfile

その後、/etc/fstabの設定行も削除します。

Swapサイズの目安

一般的な目安は以下の通りです。

・RAM 1GB:Swap 1~2GB

・RAM 2GB:Swap 2~4GB

・RAM 4GB:Swap 2~4GB

・RAM 8GB以上:Swap 2~8GB

WebサーバーやDockerサーバーでは2GB程度のSwapを設定しておくとメモリ不足時の保険になります。

まとめ

UbuntuでSwapメモリを追加する場合は、Swapファイルを作成し、「mkswap」と「swapon」で有効化するだけで簡単に設定できます。

また、「/etc/fstab」へ登録することで再起動後も自動的に有効になります。特にメモリ容量の少ないVPSやDocker運用環境では、適切なSwap設定によってシステム停止やOOMエラーを防ぎ、安定した運用を実現できます。