반응형
devlogmoa 토이 프로젝트를 진행 하다가 만난 문제.
ec2에서 spring boot jar 앱을 실행 할 때 갑작스럽게 에러가 발생 했다.
aws ec2 프리티어는 메모리가 1GB 뿐 안되기 때문에 메모리 부족 현상이 발생한 것!!
swap 메모리를 추가하여 가상 메모리를 사용하여 해결 하였다.
그 방법을 알아 보도록 하자.
swap 메모리란?
ram이 부족할 경우 프로세스가 임시 저장되는 공간이다.
ram을 사용한 것이 아닌 하드의 일정 공간을 사용한 것이므로 아무래도 속도가 늦다.
일반적으로 1기가 메모리의 swap 권장 용량은 2GB라고 한다.
메모리 및 swap 메모리 확인
os 메모리 확인
현재 스왑 공간이 없는 상태
free -h
swap 파일 생성
null로 채워진 2GB swap 파일 생성
1MB씪 2048번 반복하여 null로 채워진 파일을 생성한다.(MB * 2048 = 2GB)
dd if=/dev/zero of=/var/spool/swap/swapfile bs=1MiB count=2048
권한 변경
sudo chmod 600 /var/spool/swap/swapfile
swap 포맷으로 변경
sudo mkswap /var/spool/swap/swapfile
swap 파일을 시스템 상에 등록
sudo swapon /var/spool/swap/swapfile
swap 파일 영구 적용
위의 swapon 명령어로 등록이 가능 하지만 재부팅 시 다시 리셋 되기 때문에 영구 적용이 필요하다.
swap 추가 주석 아래 부분 추가
vim /ect/fstab
swap 파일 정보 확인
swap이 등록 되었는지 확인 해보자.
free -h
swap 파일 위치 확인
swapon --show
반응형