개인이 프로젝트를 배포할 때 주로 AWS
의 프리티어를 활용하여 무료로 배포할 것이다.
이 때 무료로 주어지는 메모리의 크기가 1GB로 매우 부족하다.
이를 해결하기 위해 하드 디스크의 일부를 메모리처럼 사용하는 가상 메모리 기법
을 활용할 것이다.
시스템 RAM 용량 | 권장 스왑 공간 |
---|---|
2GB 이하의 RAM | RAM 용량의 2배 (최소 32MB이상) |
2GB 이상, 64GB 미만 | RAM 용량의 0.5배 |
64GB 이상 | 워크로드 또는 사용 사례에 따라 다름 |
우선 AWS EC2
에 접속을 합니다.
> free -h
위 명령어를 통해 현재 swap 공간이 0이란 것을 알 수 있습니다.
위의 표를 참고하여 swapfile
의 크기를 2GB(128MB X 16)로 설정하기
> sudo dd if=/dev/zero of=/swapfile bs=128M count=16
swapfile
의 권한을 user에 대해 읽기, 쓰기 권한을 부여하기
> sudo chmod 600 /swapfile
> sudo mkswap /swapfile
swapfile
을 즉시 사용할 수 있도록 합니다.
> sudo swapon /swapfile
진행 과정이 성공적으로 완료되었는지 확인하기
> sudo swapon -s
> sudo vi /etc/fstab
파일 끝에 아래 내용을 추가하고 파일을 저장한 다음 종료하기
/swapfile swap swap defaults 0 0
위에서 한 설정들이 잘 되었는지 재부팅 후 다시 확인해 봅시다.
free -h
아래 swap 부분을 보면 Swap Memory
가 잘 할당된 것을 확인할 수 있습니다.
AWS EC2
를 무료로 사용하려면 메모리 부족 문제를 흔하게 만나게 됩니다.
가상 메모리 기법
을 이론적으로만 배웠는데 직접 활용하며 경험할 수 있어서 좋았습니다.
무료로 조금 더 쾌적하게 이용할 수 있어서 Swap Memory
는 무조건 사용합니다. ㅋㅋㅋ
하드 드라이브의 파티션을 사용하여 Amazon EC2 인스턴스에서 스왑 공간으로 사용할 메모리를 할당하려면 어떻게 해야 하나요?
스왑 파일을 사용하여 Amazon EC2 인스턴스에서 스왑 스페이스로 작동하도록 메모리를 할당하려면 어떻게 해야 하나요?