composer updateでメモリオーバー
そもそも、AWSの無料枠で個人開発レベルのLaravelをデプロイしようとしたところで
中々メモリオーバーでタイムアウトにはならないはず。
まずは他にメモリを食っている原因を探ってみましょう。
例えば無料のセキュリティ対策ソフト
clamAVなんかはメモリ使用量が多く、無料利用枠のインスタンスだとclamAVが起動した
状態でcomposer update等を行うと十中八九メモリオーバーでしょう。
なので、その場合はclamAVの使用の有無の検討や対策が必要です。
ここがまず本質。
下記の記事などを参考にしてみてください。
面倒ではありますが、clamAVやApacheの再起動をいちいちする等の対策です。
メモリ制限解除
とはいえめんどくさいのでさっさと解決したい方はこちらを実行。
ターミナルでEC2のwebサーバー内にて
vim /etc/php.ini
下記の記述を探して「memory_limit」を-1に変更
; Maximum amount of memory a script may consume (128MB)
; http://php.net/memory-limit
memory_limit = -1
スワップ生成
それでもダメならスワップファイルを作成
スワップファイルとは簡単に言うと使ってないメモリの内容を一時的にハードディスクにしまっておくファイルの事。
例えば10GBのファイルがメモリにあっても常に10GB MAXで使ってる訳ではありません。
使ってない分のスペースは勿体無いのでスワップファイルに一旦どかしてメモリの空きスペースを作ります。
それが下記の記述で行えます。
ちなみに sudo -iで実行権限を変更している前提です。
/bin/dd if=/dev/zero of=/var/swap bs=1M count=1024
/sbin/mkswap /var/swap
これで再度composer updateしてみてください。
できたらいつまでもハードディスクにスワップファイルがあってもその分使用してしまってるので削除した方が良いでしょう。
swapoff /var/swap
rm /var/swap