PARA/03_Resources/R001_개발_레퍼런스(참고문서)/트러블슈팅/RHEL에서 Webpack Dev Server가 OOM(137)으로 계속 죽을 때 내가 한 실제 트러블슈팅.md

RHEL에서 Webpack Dev Server가 OOM(137)으로 계속 죽을 때 내가 한 실제 트러블슈팅

  • 원격 RHEL 서버에서 npm run local을 실행했는데 계속 죽었음
    • echo $? → 137
    • dmesgOut of memory: Killed process (webpack)
    • 서버 스펙: RAM 6.8 GiB, Swap 7.2 GiB (거의 다 사용 중)

  • 먼저 클린 설치를 시도했음
    rm -rf node_modules/
    node -v
    nvm use 16
    npm i
    npm i --legacy-peer-deps
    npm run local
    • 하지만 여전히 OOM으로 죽음

  • 프로세스 종료 원인을 확인했음
    echo $?
    dmesg | tail -n 50 | grep -i -E "killed process|out of memory"
    free -h
    ulimit -a
    • 종료코드 137 → OOM 맞음
    • dmesg에서도 커널이 webpack을 kill한 로그 확인

  • Node 힙 크기를 늘렸음

    export NODE_OPTIONS="--max-old-space-size=3072"  # 3GB 권장 (6.8Gi 박스)
  • Swap을 16 GiB 추가했음

    sudo fallocate -l 16G /swapfile2 || sudo dd if=/dev/zero of=/swapfile2 bs=1G count=16
    sudo chmod 600 /swapfile2
    sudo mkswap /swapfile2
    sudo swapon /swapfile2
    • 처음에 /swapfile2 none swap sw 0 0을 직접 실행했다가 허가 거부가 발생했음

    • 그래서 fstab에 추가하는 방식으로 수정했음:

      echo '/swapfile2 none swap sw 0 0' | sudo tee -a /etc/fstab
  • 디스크 여유도 확인했음

    df -h /

  • 결과
    • Swap 총량이 늘어나면서 webpack dev server가 더 이상 OOM으로 즉시 죽지는 않음
    • 빌드가 끝까지 돌아가기 시작했음
    • 다만 스왑을 많이 쓰는 구조라 여전히 속도는 느림

  • 교훈
    • 137 코드가 나오면 바로 dmesg 확인해야 함
    • Node 힙 상한과 Swap 추가만으로도 dev server를 안정화시킬 수 있음
    • 하지만 궁극적으로는 RAM 증설이 필요하다고 봄

  • 추가
    • npm i --legacy-peer-deps 로 설치하니까 문제 발생함.

댓글

첫 번째 댓글을 남겨보세요.