mmap() failed: [12] Cannot allocate memory

はじめに

laravelをinstall時、memoryが不十分だとinstallでエラーになる。

twitterで投稿したところ、アドバイスもらった。確かにswapの設定してなかった。。

https://twitter.com/kondonator/status/1199104282663874560?s=20

クラウドであれば一時的にインスタンスタイプを変更することでインストールできるが、今回はインスタンスタイプを変更せず対応する。

swapを設定する

実は、GCPやAWSの場合、デフォルトでswapの設定がされていない。

# free
              total        used        free      shared  buff/cache   available
Mem:         601172      383328       48068       14160      169776      107824

手動でswapを設定する

cat /proc/swaps
dd if=/dev/zero of=/swapfile bs=1M count=2048
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
free -m

再起動しても設定されるよう、fstabに設定を追加する

/swapfile   swap        swap    defaults        0   0

作業後

無事swapが追加された

free -m
              total        used        free      shared  buff/cache   available
Mem:            587         375          43          13         167         103
Swap:          2047           0        2047

@kondonator さん、ありがとうございます🙏