리눅스
Swap 메모리란 무엇인가?
https443
2025. 12. 1. 17:30
리눅스 서버를 운영하다 보면 메모리(RAM) 부족으로 인해 실행 중인 프로세스가 강제로 종료되는 현상을 겪게 됩니다.
이때 유용하게 사용할 수 있는 것이 바로 Swap(스왑) 메모리입니다.
이번 글은 스왑 메모리의 개념과 설정 방법을 상세히 알아보겠습니다.
1. Swap 메모리란 무엇인가?
Swap(스왑)은 실제 물리적 메모리(RAM)가 가득 찼을 때, 하드 디스크나 SSD의 일부 공간을 메모리처럼 빌려 쓰는 기능입니다.
* 안정성 확보: 가용 메모리가 부족해도 시스템이 즉시 멈추지 않고 안정적으로 동작하도록 돕습니다.
* 프로세스 보호: 메모리 부족으로 인해 웹 서버나 DB 서비스가 강제 종료되는 사태를 방지합니다.
2. Swap 메모리 설정을 안했을 경우
아래 명령어를 사용하여 Swap 메모리 추가 설정 가능합니다.
#1.가상 파일을 만들어 swap 공간 확보
#1.1 fallocate 사용
sudo fallocate -l 2G /swapfile
#1.2 fallocate이 없는 경우(dd 사용)
sudo dd if=/dev/zero of=/swapfile bs=1M count=2048
-------------------------------------------------------------------------------
#1.fallocate란 무엇인가?
#fallocate는 리눅스에서 파일의 용량을 빠르게 미리 할당(allocate) 하기 위한 명령어
#2.fallocate 설치 여부 확인
which fallocate
fallocate --version
#3.fallocate 설치 방법
#Debian/Ubuntu 계열
sudo apt install util-linux
#CentOS/RHEL/AlmaLinux/Rocky
sudo yum install util-linux
sudo dnf install util-linux
#2. 권한 설정
sudo chmod 600 /swapfile
#3. 스왑 영역으로 초기화
sudo mkswap /swapfile
#4. 스왑 활성화
sudo swapon /swapfile
#5. 스왑 적용 확인
swapon --show
free -h
#6. 재부팅 후에도 자동 활성화되도록 fstab 등록
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
