반응형
문제
AWS의 EC2를 사용하여 서버들을 도커에 올리던 도중 발생했던 문제
왜이런지 몰라서 찾아보던 도중 발견한 해결방법이다.
원인
EC2 프리티어는 ram 용량이 1GB 밖에 안되서 메모리가 부족해 서버가 그대로 멈춰버리는 현상이었다.
때문에 ssh 접속도 먹통이고 방법이 없어 인스턴스를 정지시키고 다시 키기를 반복했었다.
해결방법
SWAP 가상 메모리를 사용하여 메모리를 늘려줄 수 있다.
실제 메모리는 가득차있지만 많은 메모리가 필요할 때 디스크 공간을 가져와서 메모리로 사용함으로써 EC2의 멈춤 현상을 해결할 수 있습니다.
RAM보다는 속도가 많이 느릴 수 있지만 EC2의 멈춤 현상은 발생하지 않았습니다!
1. SWAP 메모리를 추가하여 줍니다.
$ sudo dd if=/dev/zero of=/swapMem bs=128M count=16
$ sudo chmod 600 /swapMem
- 총 2GB의 스왑 메모리를 생성하여 줍니다.
- 이를 사용하기 위해서 권한 부여도 해줍시다.
2. SWAP 메모리를 SWAP 파일로 포맷합니다.
$ sudo mkswap /swapMem
- SWAP 메모리를 방금 생성한 파일로 포맷하여 줍니다.
3. SWAP 메모리를 활성화 한다.
$ sudo swapon /swapMem
$ sudo swapon -s
- SWAP 메모리를 활성화합니다.
- 아래의 명령어는 활성화된 메모리의 정보를 출력합니다.
4. SWAP 메모리 자동 활성화
$ sudo vi /etc/fstab
# 마지막 행에 추가하기
/swapfile swap swap defaults 0 0
메모리 정보 확인
$ sudo free -h
SWAP 관련 명령어
# 메모리 삭제
sudo rm -r swapMem
# 메모리 비활성화
$ sudo swapoff swapMem
# 전체 메모리 비활성화
$ sudo swapoff -a
위와같은 설정으로 디스크의 램 사용으로 인한 속도 저하는 발생할 수 있지만 EC2가 완전히 먹통이 되는 멈춤현상은 막을 수 있습니다.
반응형
'AWS' 카테고리의 다른 글
[AWS] EC2 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! 해결 (0) | 2024.03.30 |
---|---|
[AWS] MAC OS에서 EC2 SSH 연결, 인증 안됨 해결방법 (0) | 2023.11.30 |