ComposerでCannot allocate memory が出た際の対処方
proc_open(): fork failed – Cannot allocate memory
今回はComposerで新しくCakePHP3のプロジェクトを作ろうとした際に出てきた。。
[解決の手順]
$ sudo -s /bin/dd if=/dev/zero of=/var/swap.1 bs=1M count=1024
$ sudo -s /sbin/mkswap /var/swap.1
$ sudo -s /sbin/swapon /var/swap.1
[手順解説]
コマンド(オプション)
if:入力ファイルの指定
of:出力ファイルの指定
bs:1Mバイトのブロックの書き込み
count:1024回繰り返す→1Gのデータ領域確保
このコマンドで
/var/swap.1というスワップファイルができる
あとは2コマンドでスワップ領域への設置と有効化をおこなう。
コマンド
mkswap:スワップ領域の作成
swapon:スワップ領域の有効化
スワップとは
メモリが足りない時にメモリの中身をハードディスクに移す機能のこと
2つのものを交換する、という意味でもあるがIT界ではこの使い方はしない
[参考例]
■ swap領域がないか確認
$ free -m
total used free shared buff/cache available
Mem: 1991 503 86 0 1400 1328
Swap: 0 0 0
■ 4GB の領域を確保
$ sudo dd if=/dev/zero of=/swapfile bs=1M count=4096
$ sudo chmod 600 /swapfile
$ sudo mkswap /swapfile
$ sudo swapon /swapfile
■ swap領域の確認
$ free -m
total used free shared buff/cache available
Mem: 1991 616 88 0 1286 1218
Swap: 4095 0 4095
■ swapの永続化
/etc/fstab に以下を追記
—–
/swapfile wap swap defaults 0 0
—–
ディスカッション
コメント一覧
まだ、コメントがありません