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