LoginSignup
0
0

More than 5 years have passed since last update.

起動時に Swap サイズを動的に変更する

Last updated at Posted at 2018-07-12

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

0
0
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0