CentOS でしか試していないけど、RHEL でも使えると思う。
CentOS7 以降は、rc.local に実行権を付与しないと動かないので注意。
/etc/rc.d/rc.local
SWAPFILENAME=/swapfile
MEMSIZE=`cat /proc/meminfo | grep MemTotal | awk '{print $2}'`
if [ $MEMSIZE -lt 2097152 ]; then
SIZE=$((MEMSIZE * 2))
elif [ $MEMSIZE -lt 8388608 ]; then
SIZE=${MEMSIZE}
elif [ $MEMSIZE -lt 67108864 ]; then
SIZE=$((MEMSIZE / 2))
else
SIZE=4194304
fi
if [ `df -T |awk '/ext/' |wc -l` -gt 0 ]; then
# RHEL(CentOS)7 より前はこちらで
fallocate -l ${SIZE}KB $SWAPFILENAME && chmod 600 $SWAPFILENAME && mkswap $SWAPFILENAME && swapon $SWAPFILENAME
else
# RHEL(CentOS)7 以降はこちらで
dd if=/dev/zero of=$SWAPFILENAME count=$SIZE bs=1K && chmod 600 $SWAPFILENAME && mkswap -c $SWAPFILENAME && swapon $SWAPFILENAME
fi
仲間募集中
弊社ではエンジニアを募集中です。インフラからアプリ、ユーザサポートまで幅広く業務を行ってます。
https://www.nittsu-infosys.com/recruit/2019/index.html