Amazon EC2のmicroインスタンスはメモリが1GBしかありません。

ちょっとでも負荷のかかる作業すると、メモリなくなっちゃいませんか?


無料枠での利用や、開発環境での利用が主になると思いますので、

メモリ搭載量の少なさも仕方ないのですが、

WordPressなんか使ってると、mysqlが落ちてしまうことがあります。

とりあえずmysqldを起動させしのぎますが、

原因は全てログにあり。

Fatal error: cannot allocate memory for the buffer pool

うーん、メモリ足りないみたいですね。

swap領域を作ろう

microインスタンスでは標準でswap領域は割り当てられていません。

とりあえず標準メモリと同じ1GBくらいはswapに確保しましょう。

これでだいぶmysqlが安定すると思います。

sudo dd if=/dev/zero of=/swapfile bs=1024 count=1019452

sudo mkswap /swapfile

sudo swapon /swapfile

sudo chmod 600 /swapfile

これで/以下にswapfileの領域が作成されました。

起動時に毎回作成されるようにfstabも修正しましょう。

vi /etc/fstabします。

swap        /swapfile    swap    defaults        0   0

上記を追記してOKです。

複数のCMSを入れて、バーチャルドメイン動かしていると、メモリ足りなくなりますね。

これでも駄目なら、インスタンスタイプの変更になります。

(山下 史彦)