proc_open(): fork failed - Cannot allocate memory

컴포저(Composer) 사용해서 패키지를 설치할 때 proc_open() fork failed 가 화면에 출력된 경우엔 메모리가 부족한 상황이다.
 

스압 파일/파티션 존재 여부 확인

사용중인 VPS나 클라우드 환경에서 Swap 공간이 없다면 위 문제가 발생할 수 있다. free -m 명령어로 설정되어 있는 Swap 공간을 확인할 수 있습니다.

  • Swap 메모리는 주 메모리가 부족할 때 하드디스크와 같은 공간을 메모리로 사용하기 위한 가상 메모리(페이징 메모리) 입니다.
     
$ free -m

total        used        free      shared  buff/cache   available
Mem:           3950         780        1946          81        1222        2821
Swap:             0           0           0

 

스압 파일(swap file) 생성/설정

먼저 스압 용도로 사용할 파일을 swapfile 이라는 이름으로 생성해주세요,
명령어의 2G는 2GB를 의미하며 원하는 용량을 입력하면 됩니다.

sudo fallocate -l 2G /swapfile

 

생성된 파일의 권한을 변경하고 스압으로 동작되도록 해주세요.

sudo chmod 600 /swapfile
sudo mkswap /swapfile

 

마지막으로 생성된 스압을 활성화 시켜 줍니다.

sudo swapon /swapfile

 

재부팅 이후에도 해당 스압 파일을 계속 사용하려면 /etc/fstab 파일을 수정해줘야 합니다.

sudo nano /etc/fstab

 

파일 하단에 아래와 같은 내용을 추가하면 됩니다.
재부팅 이후에도 스압 파일이 정상적으로 동작하는지 확인하면 설정이 완료됩니다.

/swapfile swap swap defaults 0 0

 

  • share