Rain Wiki · Linux

LinuxのSwap領域

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

Linux · Rain Wiki

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 の記述を誤るとシステムが起動しなくなる可能性があるため、再起動前に必ず行を確認してください。

出典

最終更新: 2026-10-08

関連記事