Vagrant+Ubuntu Cannot allocate memoryと表示される

Vagrant + Ubuntu 16.04環境において、Rubyコードを実行したら次のように表示されたので原因を調べてみた。

`fork': Cannot allocate memory - fork(2) (Errno::ENOMEM)

現在のメモリー使用状況

freeコマンドでメモリーの使用状況を表示してみると次のようになっていた。free列の空きメモリが78MiBと少ないのが原因か?

$ free -m
             total  used  free  shared  buffers cached
Mem:           993   915    78      17       16     44
-/+ buffers/cache:   853   140
Swap:            0     0     0

対策

vagrant reloadしてVagrantを立ち上げ直したところ、空きメモリが649MiBに回復した。

             total  used  free  shared  buffers  cached
Mem:           993   344   649      12       35     128
-/+ buffers/cache:   179   814
Swap:            0     0     0

この状態でエラーが発生したRubyコードを実行すると正常に動作した。メモリが足りなかった様子。