728x90
문제
EC2 프리티어를 생성하여 Docker와 Jenkins를 이용해 CICD를 설정하다가 메모리 과부하가 발생했다.
이를 해결하기 위해 검색을 하다가 swap 메모리라는 걸 알게 되었다. swap 메모리란 RAM이 부족할 경우 HDD의 일정 공간을 마치 RAM처럼 사용하는 것이다.
swap 메모리를 활용하여 메모리 부족현상을 해결하기 위한 글을 작성하고자 한다.
swap 메모리 설정
- dd 명령을 사용하여 swap 메모리를 할당한다.
$ sudo dd if=/dev/zero of=/swapfile bs=128M count=32
bs는 블록 크기, count는 블록 수이다. swap 파일의 크기는 bs * count
이다.
- swapfile의 읽기 및 쓰기 권한을 수정한다.
$ sudo chmod 600 /swapfile
- Linux swap 영역을 설정한다.
$ sudo mkswap /swapfile
- swap 공간에 swapfile을 추가하여 swapfile을 즉시 사용할 수 있도록 한다.
$ sudo swapon /swapfile
- 프로시저가 성공적으로 작동했는지 확인한다.
$ sudo swapon -s
/etc/fstab
파일을 편집하여 부팅 시 swapfile을 시작한다.
$ sudo vi /etc/fstab
파일 끝에 다음 줄을 추가한 다음 저장하고 종료한다.
/swapfile swap swap defaults 0 0
출처: https://aws.amazon.com/ko/premiumsupport/knowledge-center/ec2-memory-swap-file/
스왑 파일을 사용하여 Amazon EC2 인스턴스의 스왑 공간으로 메모리 할당
1. dd 명령을 사용하여 루트 파일 시스템에 스왑 파일을 생성합니다. 명령에서 bs는 블록 크기이고 count는 블록 수입니다. 스왑 파일의 크기는 dd 명령의 블록 크기 옵션에 블록 수 옵션을 곱
aws.amazon.com
728x90
'AWS' 카테고리의 다른 글
DynamoDB의 filterExpression 동작 원리 (0) | 2023.09.27 |
---|