忘れてしまいがちなSWAP領域/AWSのEC2で作成方法

オンプレスサーバでは当たり前に設定したことが、AWSでは設定されていない なんてことがあります。

SWAP領域の作成なんて忘れてしまうのではないでしょうか。物理メモリ容量の不足を補う仮想メモリとして利用されています。

SWAP領域がない

EC2のnanoやmicro、smallといった小さいインスタンスを使っていると、 swap領域がないため、メモリを多く必要とする処理では失敗することがあります。

スワップアウトが頻繁に発生すると、処理速度が遅くなるため、設定が必要になります

SWAP領域の目安

作成するswap領域は、物理メモリが2GB以上ある場合には物理メモリと同じ容量で作成し、 2GB以下の場合は物理メモリの2倍程度の容量を作成すると良いです。

SWAP領域の設定方法

2Gのswap領域を追加する流れとなります。

まず、swap領域のフォルダを作成します。

sudo mkdir /swap

2GBのファイル「swap」を作成

dd if=/dev/zero of=/swap/swapfile1 bs=1M count=2048 dd if=/dev/zero of=/swap/swapfile2 bs=1M count=2048

権限を600に変更します。

sudo chmod 600 /swap/swapfile1 sudo chmod 600 /swap/swapfile2

mkswapコマンドでファイルをswapファイル化します。

sudo mkswap /swap/swapfile1 sudo mkswap /swap/swapfile2

swaponコマンドでswapファイルをシステムのswap領域として有効にします。

sudo swapon /swap/swapfile1 sudo swapon /swap/swapfile2

fstabファイルをバックアップしましょう

sudo cp -ip /etc/fstab /etc/fstab.20170816

fstabにswap領域の設定を追記します。

sudo sh -c "echo '/swap/swapfile1 swap swap defaults 0 0' >> /etc/fstab" sudo sh -c "echo '/swap/swapfile2 swap swap defaults 0 0' >> /etc/fstab"

SWAP領域ができていることを確認してください。

sudo grep Mem /proc/meminfo sudo grep Swap /proc/meminfo cat /proc/swaps

まとめ

そのほかでもクラウドならではの設定がありますので、随時アップしていく予定です。