Development/Environment

AWS Lightsail에서 React 빌드&배포 시 멈추는 현상 (메모리 부족)

고고마코드 2023. 7. 7. 10:15
반응형

원인

AWS Lightsail에서 테스트 삼아 React를 빌드하려고 했는데 빌드가 완료되지 않고 계속 멈추는 현상이 발생했다.

내 인스턴스의 RAM은 512MB인데, React는 빌드 시 규모가 조금만 커져도 메모리 부족으로 빌드가 멈춰버리는 현상이 생기는 것이다.

아마 Lightsail 뿐만 아니라, 다른 서버도 RAM 용량이 부족하면 같은 현상을 겪을 것이다.


해결 방법

스왑메모리 설정

부족한 RAM 용량을 DISK의 용량으로 대체하는 방법이다.

당연히 DISK를 사용하는 것이기 때문에 성능면에서는 현저하게 떨어지지만 메모리 부족으로 인해 빌드가 중단되는 현상은 해결할 수 있다. 운영용으로는 부적합하지만 테스트 할 때에는 사용하기 좋다.

  • $ sudo dd if=/dev/zero of=/mnt/swapfile bs=1M count=2048
  • $ sudo mkswap /mnt/swapfile
  • $ sudo swapon /mnt/swapfile

위 명령어를 순서대로 입력하면 스왑메모리가 생성된다.

Untitled

스왑메모리가 생성되면 $ free 입력 시 Swap에 가상메모리를 확인할 수 있다.

스왑메모리 해제

  • $ sudo swapoff -v /mnt/swapfile
  • $ sudo rm /mnt/swapfile

참고자료

🔥[React] Creating an optimized production build... 멈춤 현상 해결 방법

반응형