AWS t2.small을 사용하던 도중 메모리 부족 현상을 발견했다.
인스턴스 유형을 더 좋은 걸로 변경해도 되지만 그만큼 돈이니 디스크에 충분한 여유 공간이 남는다면 가상 메모리
를 활용해서 메모리 부족 현상을 해결할 수 있다.
하지만 이것 역시 하드디스크의 일부를 쓰는 것이기 때문에 한계가 있어 계속해서 메모리가 부족하다면 메모리를 늘리는 것이 맞다.
가상 메모리 : 메모리 관리 기법 중 하나이며 디스크
를 RAM의 확장처럼 사용
스왑 공간 : 디스크에서 사용되는 공간
AWS에서 권장하는 스왑 용량으로 설정했다. EC2 t2.small의 램은 2GB라서 스왑 메모리도 2GB로 계획했다.
free -h -t
-h : 사람이 읽기 편하게 출력한다.
-t : total ram, swap 메모리를 확인한다.
자세한 옵션은 free --help
를 통해 확인할 수 있다.
전체 메모리의 용량
을 Kbyte단위(기본단위)로 표시사용중인 메모리의 양
을 Kbyte 단위로 표시사용하지 않는 메모리의 양
을 Kbyte로 표시sudo dd if=/dev/zero of=/swapfile bs=128M count=16
128씩 16개의 공간을 만드는 것이여서 우리의 경우 count를 16으로 할당하는 것이 좋다. 즉, 2GB정도 차지하는 것이다.
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
sudo swapon -s
sudo vi /etc/fstab
파일 끝에 코드를 추가하고 파일을 저장한다음 종료한다.
/swapfile swap swap defaults 0 0
free -h -t 명령어로 확인해본다.
스왑 메모리가 생긴걸 알 수 있다.
중지
sudo swapoff -a
시작
sudo swapon -a
시작, 중지 명령어로 스왑메모리 전 후 상황을 테스트 할 수 있다.
https://sundries-in-myidea.tistory.com/102
https://ssue-dev.tistory.com/entry/Linux-Swap-Memory-스왑-메모리-설정-방법