ホスト側のログにはこんな感じで出ていた。
# less /var/log/messages Sep 10 16:39:08 r210devel kernel: Out of memory: Kill process 19223 (VBoxHeadless) score 231 or sacrifice child Sep 10 16:39:08 r210devel kernel: Killed process 19223, UID 502, (VBoxHeadless) total-vm:3144740kB, anon-rss:15636kB, file-rss:1765760kB Sep 10 16:39:08 r210devel kernel: EMT-1: page allocation failure. order:0, mode:0x304d2 Sep 10 16:39:08 r210devel kernel: Pid: 19232, comm: EMT-1 Not tainted 2.6.32-431.3.1.el6.x86_64 #1
vagrant status
上記で確認するとステータスは「aborted」になってしまっていた。
物理メモリの上限をあげたりしたらいいのかもしれないけど、
swapがなさそうだったのでswapを追加してみる。
以下方法。
■現状を確認する
# swapon -s Filename Type Size Used Priority
■スワップ用ファイルの作成。今回は1024MBで作成。
# dd if=/dev/zero of=/swapfile bs=1M count=1024 1024+0 records in 1024+0 records out 1073741824 bytes (1.1 GB) copied, 13.2406 s, 81.1 MB/s
■スワップ領域として初期化する。
# mkswap /swapfile mkswap: /swapfile: warning: don't erase bootbits sectors on whole disk. Use -f to force. Setting up swapspace version 1, size = 1048572 KiB no label, UUID=c46d6690-8fe3-4555-b9f3-50d690dee94c
■スワップ領域を有効にする。
# swapon /swapfile
■追加されたか確認する。
# swapon -s Filename Type Size Used Priority /swapfile file 1048568 0 -1
■再起動したときにもswapが使えるようにfstabに登録しておく。
# sh -c "echo '/swapfile swap swap defaults 0 0' >> /etc/fstab"
※そもそも物理メモリ量をゲストvmが超えた場合に落ちないようにしたいけどその方法はわかっていない・・・。
このページのような現象だけどもどうしたものか・・・。
Out of Memory: Killed process process…
メモリをそんなに使わないようにするのがいいんだろうな。。
■参考URL
Vagrant+VirtualBox+CentOS環境でMySQL5.6が起動しない場合の対処法