Swap領域は使わないに越したことはないのですが、アプリやスプリクトの不具合(メモリリーク等)対策に緊急用として、設定しておいた方が良いと思っています。
※既にSwap領域が存在する場合には、特に設定する必要はありません。
※オンプレサーバーやクラウドサーバー上でカスタムインストールができる状態の場合、Swapファイルではなく、Swap専用パーティションで設定することが推奨されています。
推奨Swap領域
システムメモリの容量 | 推奨Swap領域 | 推奨Swap領域(ハイバネート許可時) |
---|---|---|
2GB未満 | メモリ容量の2倍 | メモリ容量の3倍 |
2GB~8GB未満 | メモリ容量と同じ | メモリ容量の2倍 |
8GB~64GB未満 | 最低4GB | メモリ容量の1.5倍 |
64GB以上 | 最低4GB | ハイバネート自体非推奨 |
Swap領域の作成
1.既存のSwap領域が存在するか確認します
#何も出力されなければ、Swap領域が無い
[root@sv1 ~]# swapon --show
#Swapの項目が0であれば、Swap領域が無い
[root@sv1 ~]# free
2.Swap領域(Swapファイル)を作成します
[root@sv1 ~]# dd if=/dev/zero of=/swapfile bs=2M count=1024
1024+0 レコード入力
1024+0 レコード出力
2147483648 bytes (2.1 GB, 2.0 GiB) copied, 19.1167 s, 112 MB/s
[root@sv1 ~]# chmod 600 /swapfile
[root@sv1 ~]# mkswap /swapfile
スワップ空間バージョン 1 を設定します。サイズ = 2 GiB (2147479552 バイト)
ラベルはありません, UUID=cb******-4**0-4**4-b5**-5****46c***5
3.swapを有効化します
[root@sv1 ~]# swapon /swapfile
#確認
[root@sv1 ~]# swapon --show
NAME TYPE SIZE USED PRIO
/swapfile file 2G 0B -2
[root@sv1 ~]# free
total used free shared buff/cache available
Mem:
Swap: 2097148 0 2097148
4.再起動後も自動的に有効になるようにします
[root@sv1 ~]# cp -p /etc/fstab /etc/fstab.org
[root@sv1 ~]# echo "/swapfile none swap sw 0 0" | tee -a /etc/fstab
/swapfile none swap sw 0 0
#確認
[root@sv1 ~]# tail -1 /etc/fstab
/swapfile none swap sw 0 0