# LinuxのSwap領域

> Swapとは何か、freeコマンドやswaponコマンドでの確認方法、Swapファイルの追加方法、vm.swappinessの設定変更について解説します。

Swapとは、Linuxカーネルがメモリのあふれ先として使用するディスク領域のことです。使用頻度の低いメモリページをそこに移動させることで、アクティブな作業のためにRAMを空けておけます。専用パーティションまたはSwapファイルとして存在し、free -hコマンドやswapon --showコマンドで確認できます。

## Swapが依然として有用な理由

十分なRAMがある場合でも、Swapがあればカーネルはアイドル状態のページをメモリ外へ移動でき、Out-of-Memory Killerがプロセスを停止させる前のバッファとして機能します。ただし、頻繁に激しいスワップが発生する場合は、マシンのRAMを増設するか、ワークロードを減らす必要があります。

## Swappiness

カーネル設定のvm.swappiness（0〜200、デフォルトは60）は、ファイルキャッシュを破棄するのと比較して、カーネルがどの程度積極的にスワップを行うかに影響します。値を低くすると、アプリケーションのメモリがRAM内に長く保持されます。値の確認には 'sysctl vm.swappiness' を使用し、永続的な設定は /etc/sysctl.d/ 以下のファイルで行います。

## Swapファイル

Swapファイルは作成後に mkswap でフォーマットし、swapon で有効化します。再起動後も有効にするには /etc/fstab に追記します。パーミッションは 600 に設定する必要があります。

## 2 GBのSwapファイルを追加する方法

1. ファイルを作成: sudo dd if=/dev/zero of=/swapfile bs=1M count=2048
2. アクセス権を制限: sudo chmod 600 /swapfile
3. フォーマット: sudo mkswap /swapfile
4. 有効化: sudo swapon /swapfile
5. 永続化: '/swapfile none swap sw 0 0' という行を /etc/fstab に追加する
6. 確認: swapon --show および free -h

## 注意点

- Btrfs上でSwapファイルを使用するには特別な準備（コピーオンライトの無効化）が必要です。各ディストリビューションのガイドに従ってください。
- /etc/fstab の記述を誤るとシステムが起動しなくなる可能性があるため、再起動前に必ず行を確認してください。

## 出典

- [swapon(8)](https://man7.org/linux/man-pages/man8/swapon.8.html)
- [mkswap(8)](https://man7.org/linux/man-pages/man8/mkswap.8.html)
- [free(1)](https://man7.org/linux/man-pages/man1/free.1.html)
- [/proc/sys/vm に関するドキュメント (kernel.org)](https://www.kernel.org/doc/html/latest/admin-guide/sysctl/vm.html)

最終更新: 2026-10-08
URL: https://raincleaner.eu/ja/wiki/linux/swap
