2013年12月15日日曜日

AWS上のmicroタイプのUbuntuでswapを利用する

はじめに

AWSで無料で利用できるmicroタイプのUbuntu 12.04 LTS(おそらくは他のLinuxでも)には、Swapが設定されていない。そのため、メモリ使用量の大きいアプリケーションを実行すると、メモリ不足でアプリケーションは落ちてしまう。
$ free -k
             total       used       free     shared    buffers     cached
Mem:        604340     587692      16648          0      44980     375884
-/+ buffers/cache:     166828     437512
Swap:            0          0          0

このままでは不便なので、swapファイルを作成する。

Swapファイルの作成

Swapファイルのサイズだが、実メモリの2倍程度が良いとされているので、1208680KB(約1.2GB)のSwapファイルを作成し、マウントする。
sudo dd if=/dev/zero of=/swapfile bs=1024 count=1208680 #中身が0で埋め尽くされた約1.2GBのファイル作成
sudo mkswap /swapfile #作成したファイルをSwapファイルに変換
sudo swapon /swapfile #作成したSwapファイルをマウント
sudo cp /etc/fstab /etc/fstab.old
sudo sh -c 'echo "/swapfile  swap   swap    defaults   0 0" >> /etc/fstab' #fstabに設定し、自動マウントする

以上でSwapファイルが作成され、マウントされた。また、/etc/fstabにSwapファイルの設定を行ったため、再起動してもSwapファイルはマウントされたままとなる。
free -k
             total       used       free     shared    buffers     cached
Mem:        604340     178708     425632          0       9812      46968
-/+ buffers/cache:     121928     482412
Swap:      1208676          0    1208676

0 件のコメント:

コメントを投稿