본문 바로가기

Chapter01/프로젝트01

[AWS] 빌드 속도가 너무 느려요! swap메모리

 

AWS EC2 에 배포 중 이슈를 올려보려한다

 

 

 

배포 환경은 

- 유형 : t2.micro
- 메모리 : 30G
- 네트워크 성능 : 낮음에서 중간
- 운영체제 : Amazon Linux

 

입니당

 

 

 

메모리가 딸려서인지 빌드를 하는데 한세월이걸리고

뻗어버리고,,

해결 방법으로 swap을 잡기로해본다~!

 

 

 

 

스왑(swap) 메모리

: 컴퓨터 시스템에서 물리적 메모리(RAM)의 확장으로 사용되는 가상 메모리의 일종으로 디스크의 일부를 할당하여 운영 체제가 실제 메모리처럼 사용할 수 있도록 하는 공간

 

swap을 설정해야 하는 이유? 장점은 아래와 같다

 

1. 메모리 관리 측면

 EC2 인스턴스의 메모리가 부족할 때, 스왑 공간은 추가적인 가상 메모리로 사용된다. 그래서  메모리 부족으로 인한 시스템 크래시를 방지할 수 있다! 

시스템이 사용할 수 있는 물리적 메모리 이상으로 메모리를 요구하는 경우, 스왑 공간을 사용하여 메모리 사용량을 조절할 수 있습니다. 이는 특히 메모리 사용량이 일시적으로 급증하는 경우 메모리 관리의 효율성을 높일 수 있다!

 

2. 성능 향상 측면

 메모리 사용량이 높은 애플리케이션의 성능을 향상시킬 수 있다. 메모리에서 비활성화된 페이지를 디스크로 이동시켜 더 중요한 데이터가 물리적 메모리에 상주하도록 함으로써 전체 시스템 성능을 향상시킬 수 있다.

 

 이외에도 메모리 용량을 늘리는 대신 스왑 공간을 설정함으로써 비용 절감도 할 수 있고,  메모리가 부족 시 OOM (Out of Memory) 킬러가 활성화되어 프로세스가 강제로 종료되는 상황을 방지할 수 있다!

\

 

 

 

 

 

 

 

 

 

남은 디스크 용량 확인

df -h

 

 

 

1. 스왑 파일 생성하기 : 스왑 파일은 4GB(128MB x 32)

$ sudo dd if=/dev/zero of=/swapfile bs=128M count=32

 

2. 스왑파일 권한 설정 : 읽기와 쓰기 권한 업데이트

$ sudo chmod 600 /swapfile

 

3. 스왑 파일을 스왑 영역으로 설정

$ sudo mkswap /swapfile

 

4. 스왑 파일을 활성화 : 스왑 공간에 스왑 파일을 추가해 스왑 파일을 즉시 사용할 수 있도록함

$ sudo swapon /swapfile

 

5. 확인하기

$ sudo swapon -s

 

6. 편집기로 파일 보기 : 부팅 시 /etc/fstab 파일을 편집하여 스왑 파일을 시작

$ sudo vi /etc/fstab

 

파일 끝에 아래와 같이 한 줄을 추가하고 파일을 저장 후 종료하기

/swapfile swap swap defaults 0 0

 

 

 

 

자세한 설명 및 출처인 AWS공식답변 아래에 첨부합니다

https://repost.aws/ko/knowledge-center/ec2-memory-swap-file