전에 다뤘던 AWS EC2 프리티어를 사용하다보면 메모리가 1GB이기 때문에 인스턴스가 중지되는 현상이 발생한다. 이 부분에 대해서 해결 방안을 찾아보았다.
스왑 파티션은 RAM이 부족할 때 추가적으로 실행되는 프로그램을 RAM이 아닌 디스크 용량 일부를 가상 메모리로 활용해 실제 메모리와 혼용하여 사용하게 해준다.
다시 간단하게 말한다면 RAM이 부족할 때 실행되는 추가적인 프로그램은 스왑 파티션에서 실행된다. 예비 공간 역할을 하는 셈이다.
스왑 파티션을 적절하게 사용할 경우 시스템 성능을 큰 폭으로 향상시킬 수 있다.
본인은 AWS EC2 프리티어 ubuntu 18.04버전을 사용했다. RAM의 크기는 1GB이므로 2GB의 스왑 공간을 생성한다.
sudo swapon -s
명령어를 통해 스왑 상태를 확인한다.free
명령어를 통해 메모리 상태를 확인한다. 결과 창을 보면 스왑이 이뤄지지 않은 상태임을 확인할 수 있다.sudo dd if=/dev/zero of=/swapfile bs=128M count=16
명령어를 통해 루트 파일 시스템에 스왑 파일을 생성한다./dev/zero
경로로부터 16번을 읽어 swapfile
에 저장한다는 내용이다.sudo chmod 600 /swapfile
명령어를 통해 스왑 파일에 대한 권한을 부여한다. sudo mkswap /swapfile
명령어를 통해 스왑 영역을 설정한다. mkswap [file]
은 스왑 파티션을 생성하는 명령어에 해당한다. sudo swapon /swapfile
명령어를 통해 스왑 공간에 스왑 파일을 추가한다. swapon [file]
은 스왑 파일을 활성화하는 명령어에 해당한다. sudo swapon /swapfile
명령어를 통해 스왑 공간을 확인한다.free
명령어를 통해 메모리 상태를 확인한다.스왑 파티션이 생성된 것을 확인할 수 있다.sudo vim /etc/fstab
명령어를 통해 /etc/fstab
파일을 연다./etc/fstab/
파일에 다음과 같이 /swapfile swap swap defaults 0 0
을 추가해 부팅 시에 스왑 파일을 활성화하도록 설정한다. [파일 시스템 장치][마운트 포인트][파일 시스템 종류][옵션][dump 설정] [파일 점검 옵션]
에 해당한다. [Linux] 리눅스 스왑 파티션 생성 및 삭제
리눅스 스왑(SWAP) 파티션이란 무엇? 어떤 일을 하나요?