CoreOSのメモリ不足解消のためにswap設定をする
VPSでCoreOSを動かしているとわりとすぐメモリ不足に陥ります。
その解決策のひとつとしてswapを設定する手順メモ。
swapファイルの作成と有効化
-
swapファイルの作成
ここでは1024MBのファイルを作成します。# dd if=/dev/zero of=/swapfile bs=1M count=1024
-
mkswapでスワップ領域を作成
# mkswap /swapfile
-
swaponでスワップ領域を有効にする
# swapon /swapfile
systemdのサービスとして追加
-
下記の内容でファイルを作成
/etc/systemd/system/swap.service[Unit] Description=Turn on swap [Service] Type=oneshot Environment="SWAPFILE=/swapfile" RemainAfterExit=true ExecStartPre=/usr/sbin/losetup -f ${SWAPFILE} ExecStart=/usr/bin/sh -c "/sbin/swapon $(/usr/sbin/losetup -j ${SWAPFILE} | /usr/bin/cut -d : -f 1)" ExecStop=/usr/bin/sh -c "/sbin/swapoff $(/usr/sbin/losetup -j ${SWAPFILE} | /usr/bin/cut -d : -f 1)" ExecStopPost=/usr/bin/sh -c "/usr/sbin/losetup -d $(/usr/sbin/losetup -j ${SWAPFILE} | /usr/bin/cut -d : -f 1)" [Install] WantedBy=multi-user.target
-
サービスの有効化
# systemctl enable --now /etc/systemd/system/swap.service
確認
下記コマンドで追加されていることを確認
# free -h
total used free shared buffers cached
Mem: 2.0G 1.9G 100M 66M 23M 264M
-/+ buffers/cache: 1.6G 388M
Swap: 1.0G 308M 715M
Swap:の項目があればOKです。