VPSのインスタンスにswapが無いケースへの対応
AWSやクラウドなどで提供のVPSのインスタンスに、swapの設定がないケースがあります。またインスタンスのスペックが変更(HDDの拡張など)対応の仕様などでは、パーティションも1個のみでswap パーティションが無いこともあります。
スワップが無いとマシンのメモリを使いきるとフリーズしますので、負荷のかかるサーバーではスワップは必要です
swapの追加方法
awsの場合には、ephemeral をスワップに利用する方法もありますが、今回はfstabを変更せずに、起動時にrc.local などでswap file を有効にする方法を使います。
/etc/rc.local の記載例
# chmod +x /etc/rc.d/rc.local
# cat /etc/rc.local
#!/bin/bash
# — add swapfile —
SWAPFILE=/swapfile
if [ -e $SWAPFILE ] ; then
swapon $SWAPFILE
else
dd if=/dev/zero of=$SWAPFILE bs=1024K count=1024
chmod 600 $SWAPFILE
mkswap $SWAPFILE
swapon $SWAPFILE
fi
# free
total used free shared buff/cache available
Mem: 1883984 139512 436544 16820 1307928 1558556
Swap: 1048572 0 1048572
1GBのスワップが追加されています
# cat /etc/fstab
UUID=9a09b91e-f444-4e4b / xfs defaults,usrquota,grpquota 0 0