LoginSignup
3
2

More than 3 years have passed since last update.

本番環境でbundle installが出来ない(スワップ領域)

Posted at

原因について

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のファイル

EC2サーバー
$ sudo dd if=/dev/zero of=/swap bs=1M count=2048
2048+0 レコード入力
2048+0 レコード出力
2147483648 バイト (2.1 GB) コピーされました、 32.0685 秒、 67.0 MB/

作成したファイルをスワップファイルシステムとして割り当てる。

EC2サーバー
$ sudo mkswap /swap
スワップ空間バージョン1を設定します、サイズ = 2097148 KiB

$sudo swapon /swapで 600がオススメと出るのでそれを参考にアクセス権限の指定。

EC2サーバー
sudo chmod 600 /swap

スワップ領域の確認方法

EC2サーバー
$ 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

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2