忘れてしまいがちな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
まとめ
そのほかでもクラウドならではの設定がありますので、随時アップしていく予定です。