#原因について
Unicorn導入の際、本番環境にてgit pullをしbundle installをしたらエラーが出る、どうやら原因はbootstrapやfontawesomeを使用した事によるメモリ不足らしい。
なぜローカルで出来て本番で出来ないのか $ topで調べたところ
top - 06:07:39 up 19 min, 1 user, load average: 0.00, 0.00, 0.00
Tasks: 79 total, 1 running, 54 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0%us, 0.0%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 1009496k total, 599180k used, 410316k free, 9768k buffers
Swap: 0k total, 0k used, 0k free, 86808k cached
スワップ領域が無い事が判明、どうやらAWSのEC2の小規模インスタンスには標準でスワップ領域が無いみたいです。
#スワップ領域について
スワップ領域の追加、今回の場合は2Gのファイル
$ sudo dd if=/dev/zero of=/swap bs=1M count=2048
2048+0 レコード入力
2048+0 レコード出力
2147483648 バイト (2.1 GB) コピーされました、 32.0685 秒、 67.0 MB/秒
作成したファイルをスワップファイルシステムとして割り当てる。
$ sudo mkswap /swap
スワップ空間バージョン1を設定します、サイズ = 2097148 KiB
$sudo swapon /swapで 600がオススメと出るのでそれを参考にアクセス権限の指定。
sudo chmod 600 /swap
スワップ領域の確認方法
$ cat /proc/swaps
Filename Type Size Used Priority
/swap file 2097148 0 -2
#まとめ
最初はbootstrapのvarsionのせいなど色々考えてしまいましたが、思ったより単純な事で安心しました、やはりエラーログは隅々まで確認する事が大事であると再認識出来たのでよかったです。
以下、参考にさせて頂いた資料です。
https://katsu-puchi.hatenablog.com/?page=1560406500
https://www.memory-lovers.blog/entry/2018/02/04/170033