[AWS]/EC2

[참고][AWS] EC2 스왑 메모리 설정 방법!! (Linux 기준)

K-Books 2025. 2. 17. 11:30
728x90

 

 

 

AWS EC2 인스턴스는 기본적으로 스왑 메모리가 설정되지 않은 경우가 많기 때문에 직접 설정해야 합니다.


1️⃣ 현재 스왑 메모리 확인

먼저, 현재 스왑 메모리가 설정되어 있는지 확인합니다.
아래 명령어를 입력하여 확인할 수 있습니다.

bash
복사편집
free -m

또는

bash
복사편집
swapon --summary

출력 결과에서 Swap: 항목이 0이면 현재 스왑이 없는 상태입니다.


2️⃣ 스왑 파일 생성

스왑 파일을 생성하려면 dd 또는 fallocate 명령어를 사용할 수 있습니다.
예를 들어, 2GB(2048MB) 크기의 스왑 파일을 만들려면 다음과 같이 실행합니다.

🔹 dd 명령어 사용

bash
복사편집
sudo dd if=/dev/zero of=/swapfile bs=1M count=2048

🔹 fallocate 명령어 사용 (더 빠름)

bash
복사편집
sudo fallocate -l 2G /swapfile

3️⃣ 스왑 파일 권한 설정

스왑 파일은 보안상의 이유로 root 사용자만 접근할 수 있도록 권한을 설정해야 합니다.

bash
복사편집
sudo chmod 600 /swapfile

4️⃣ 스왑 영역으로 변환

생성한 파일을 스왑 영역으로 변환하는 과정이 필요합니다.

bash
복사편집
sudo mkswap /swapfile

5️⃣ 스왑 활성화

bash
복사편집
sudo swapon /swapfile

이제 다시 free -m 명령어를 실행하면 Swap: 항목에 값이 나타날 것입니다.


6️⃣ 부팅 시 자동 적용

재부팅하면 스왑 설정이 사라지기 때문에 /etc/fstab 파일에 등록해야 합니다.

bash
복사편집
echo '/swapfile swap swap defaults 0 0' | sudo tee -a /etc/fstab

이제 시스템을 재부팅해도 스왑이 유지됩니다.


7️⃣ 스왑 사용량 조정 (선택 사항)

리눅스는 메모리가 부족할 때 스왑을 사용하지만, 스왑 사용 우선순위를 조정할 수도 있습니다.
swappiness 값을 조정하면 커널이 스왑을 얼마나 적극적으로 사용할지 결정합니다.

현재 설정 확인:

bash
복사편집
cat /proc/sys/vm/swappiness

기본값은 보통 60이지만, EC2는 SSD 스토리지를 사용하기 때문에 낮추는 것이 좋습니다.
예를 들어, 10으로 설정하려면:

bash
복사편집
sudo sysctl vm.swappiness=10

영구적으로 설정하려면 /etc/sysctl.conf 파일을 수정해야 합니다.

bash
복사편집
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf

8️⃣ 스왑 파일 삭제 (선택 사항)

스왑을 비활성화하고 제거하려면 다음을 실행하면 됩니다.

bash
복사편집
sudo swapoff -v /swapfile sudo rm -f /swapfile sudo sed -i '/swapfile/d' /etc/fstab

이제 다시 free -m 명령어로 확인하면 스왑이 삭제된 것을 볼 수 있습니다.

 

 

 

 

728x90