MySQLがよく落ちる(複数WPの影響?AWS?)

なんかMySQLがよく落ちるから、

とりあえず再起動して放置してたんだけど

MySQLのエラーログみたら、なんか書き出されてたので

ちょっと対応してみたのでメモメモ

はたして、解決するのか?!

■ 環境 AWS t1.micro
■ WP 7個ほど動かしてる

こちら、はかれてたログ内容(/var/log/mysqld.log)

151223  7:41:14 InnoDB: The InnoDB memory heap is disabled
151223  7:41:14 InnoDB: Mutexes and rw_locks use GCC atomic builtins
151223  7:41:14 InnoDB: Compressed tables use zlib 1.2.8
151223  7:41:14 InnoDB: Using Linux native AIO
151223  7:41:14 InnoDB: Initializing buffer pool, size = 128.0M
InnoDB: mmap(137363456 bytes) failed; errno 12
151223  7:41:14 InnoDB: Completed initialization of buffer pool
151223  7:41:14 InnoDB: Fatal error: cannot allocate memory for the buffer pool
151223  7:41:14 [ERROR] Plugin 'InnoDB' init function returned error.
151223  7:41:14 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
151223  7:41:14 [ERROR] Unknown/unsupported storage engine: InnoDB
151223  7:41:14 [ERROR] Aborting

とりあえずmy.cnf(/etc/my.cnf)に以下2行を追加してみる。

innodb_buffer_pool_size = 256M
innodb_log_file_size = 64M

mysqlを停止してからib_logfile0、ib_logfile1ファイルを
削除(またはリネーム)してから再起動!

これで解決しなかったら、swap領域を作成するとかかなぁ、、

・・・

・・・

・・・

見事に解決しなかったのでw
swap領域を作成してみる!

AWSのEC2インスタンスでt2.microを選択したのだけれど
デフォルトでは、swap領域がなんとゼロ

freeコマンドで確認してみると

# free
             total       used       free     shared    buffers     cached
Mem:       2051648    1947460     104188        344      77544     988628
-/+ buffers/cache:     881288    1170360
Swap:            0          0          0

早速、スワップ用のディレクトリとファイルを作成
今回は、「/var/swap」ってとこに作ったけれど、こちらはお好みで。

// スワップ用ディレクトリの作成
# mkdir /var/swap

// 1Gのスワップファイル作成
# dd if=/dev/zero of=/var/swap/swapfile1 bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 12.6199 s, 85.1 MB/s

// スワップファイルのパーミッションを600に変更
# chmod 600 /var/swap/swapfile1

次に、作成したファイルのフォーマットと有効化

// スワップファイルをSwap領域用にフォーマット
# mkswap /var/swap/swapfile1

// スワップファイルの有効化
# swapon /var/swap/swapfile1

ここまでできて、改めてfreeコマンドで確認してみると

# free
             total       used       free     shared    buffers     cached
Mem:       2051648    1879676     171972        348      77756     781264
-/+ buffers/cache:    1020656    1030992
Swap:      1048572          0    1048572

無事にswap領域が確保されてるよー

最後に、起動時に自動でスワップが割り当てられるように設定

echo '/var/swap/swapfile1 swap swap defaults 0 0' >> /etc/fstab

もうMySQLが落ちませんようにー

コメント

  1. […] swap領域の作成など対策をしてみたけれど やっぱり落ちる。。。 […]

タイトルとURLをコピーしました