はじめに
業務で使用するLinux VMにスワップ領域を設定する機会があったので、手順をまとめておきます。
スワップ領域の作成方法としては、
・スワップファイル
・スワップパーティション
の二種類があります。
今回はスワップファイルを利用します。
基本的には以下の手順に沿って実施すればOKです。
手順
1. スワップ用のファイルを作成する
例:2GBのスワップ領域を作成する場合
sudo fallocate -l 2G /swapfile
faillocateが使えない場合は以下で実行できる。
sudo dd if=/dev/zero of=/swapfile bs=1024 count=2097152
2. ファイルのアクセス権を変更する
rootだけ読み書きできるようにします。
sudo chmod 600 /swapfile
3. スワップファイルをスワップ領域として設定。
sudo mkswap /swapfile
4. スワップを有効化
sudo swapon /swapfile
5. 有効化できたか確認
sudo swapon --show
# 出力
# NAME TYPE SIZE USED PRIO
# /swapfile file 2G 0B -2
または
free -h
# 出力
# total used free shared buff/cache available
# Mem: 898Mi 376Mi 293Mi 4.0Mi 375Mi 521Mi
# Swap: 2.0Gi 0B 2.0Gi
6. 再起動後も有効にする設定を追加。
/etc/fstab に以下の一行を追加する
/swapfile none swap sw 0 0
7. オプション:スワップの利用頻度(スワップネス)を調整
現在の値を確認する。
cat /proc/sys/vm/swappiness
変更する場合は以下のコマンドを実行。
例)10に変更する場合
sudo sysctl vm.swappiness=10
設定を永続化したい場合は、/etc/fstab に以下の一行を追加する
vm.swappiness=10