AWS EC2를 이용해서 서버를 구축했는데, 어느 순간 갑자기 접속이 안되는 경우가 없으셨나요?
메모리가 부족이 원인일 수 있습니다.
이 글을 통해서 AWS EC2 인스턴스에서 스왑 파일을 만들어 추가 메모리 공간을 마련하는 방법을 상세히 안내해드리겠습니다.
제 사례를 먼저 소개해드리겠습니다.
AWS EC2를 통해 t2.micro 인스턴스를 만들어보니, SSH 툴로도 접속이 안되고 인스턴스를 재부팅하여도 접속이 안되는 경우가 생겼습니다.
우선 로그를 확인해야겠죠.
아파치 서버의 로그는 아래 디렉토리에 있습니다.
cd /var/log/apache2
저 같은 경우는 “Cannot allocate memory” 와 함께 새로운 프로세스를 만들 수 없다는 로그를 확인했습니다.
t2.micro 인스턴스는 1GB의 메모리만 지원하기 때문에 메모리 부족 문제로 예상하고, 스왑 파일을 추가하였더니 접속이 안되는 현상이 없어졌습니다.
스왑 파일은 메모리 부족 현상을 해결하기 위한 가상 메모리 공간으로, 디스크에 저장된 메모리 데이터입니다.
말 그대로 디스크 용량의 일부를 메모리와 유사하게 사용한다고 보시면 됩니다.
먼저 필요한 스왑 파일의 크기를 결정해야 합니다.
스왑 파일 크기는 메모리 크기와 용도에 따라 다를 수 있습니다. 일반적으로 메모리 크기의 2배나 4배로 설정하는 것이 권장됩니다.
저의 경우에는 2GB로 최상위 디렉토리(/)에 생성하였습니다. 물론 관리자로 처리하셔야 합니다.
sudo fallocate -l 2G /swapfile
파일이 생성되었다면 시스템에서만 접근이 가능하게 아래 명령어로 접근 권한을 설정합니다.
sudo chmod 600 /swapfile
스왑 파일을 생성한 후에는 활성화해야 합니다. 아래 명령어를 사용하여 스왑 파일을 활성화합니다.
sudo mkswap /swapfile
sudo swapon /swapfile
스왑 파일이 활성화 되었는지 확인하려면 아래 명령어를 통해 확인합니다.
free -m
매번 부팅할 때 마다 스왑 파일을 설정하면 귀찮겠죠?
부팅 시 스왑 파일이 자동으로 활성화되도록 “/etc/fstab” 파일에 다음 줄을 추가합니다.
/swapfile none swap sw 0 0
너무 작은 스왑 파일은 메모리 부족 문제를 해결하지 못하고, 반대로 너무 큰 스왑 파일은 디스크 공간을 낭비할 수 있습니다.
스왑 파일은 말 그대로 디스크에 저장된 파일입니다. 따라서 디스크의 속도에 영향을 받으며, 메모리와 디스크 사이에서 데이터 교환 작업은 디스크 R/W를 유발하므로 성능 저하로 이어질 수 있습니다.
스왑 파일 사용량을 모니터링하여 언제 스왑이 발생하는지를 살펴보세요.
스왑 파일 사용량이 지속적으로 높다면 차라리 메모리 리소스를 추가하는게 나을 수도 있습니다.
규모가 크지 않은 서버를 운용하실 때, AWS EC2 인스턴스의 메모리 부족 문제는 스왑 파일을 설정하여 해결할 수 있습니다. 스왑 파일을 올바르게 생성하고 설정하여 시스템의 성능을 향상시키고 안정성을 유지하세요.
Windows 명령프롬프트에서 간단한 명령을 이용한 라인수 구하는 방법 Windows 명령프롬프트에서 "find" 명령어를 이용하여 파일의 라인수를…
소형주 투자 전략에 대해서 백테스트 분석 결과를 종합하여 알려드립니다. Buy&Hold 전략, EMA 전략, 그리고 시즈널리티…
View Comments
I'm consistently impressed by the quality of your work. ❤️
It is perfect time to make some plans for the future and it is time
to be happy. I’ve read this post and if I could
I want to suggest you some interesting things or suggestions.
Perhaps you can write next articles referring to this article.
I want to read more things about it!
I am sure this piece of writing has touched all the internet users, its really really
nice piece of writing on building up new weblog.