0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Laravelでcomposer updateでメモリオーバー

Posted at

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
0
0
1

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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?