운영중입니다

Swap 메모리란 무엇인가? 본문

리눅스

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