목표: 물리적 **Random Access Memory (RAM)**가 부족할 때 사용할 보조 메모리 공간인 8GB 크기의 스왑 파일을 생성하고, 재부팅 후에도 자동으로 활성화되도록 설정합니다.
가장 먼저 현재 시스템에 스왑 영역이 얼마나 할당되어 있고 사용 중인지 확인합니다.
# 1. 활성화된 스왑 영역 목록 및 크기 확인
sudo swapon --show
# 2. 시스템 메모리 및 스왑 사용량 확인
free -h
fallocate 명령어를 사용하여 디스크에 8GB 크기의 파일을 생성합니다. 이 파일이 스왑 공간이 됩니다.
# 8GB 크기의 /swapfile 파일을 생성합니다.
sudo fallocate -l 8G /swapfile
💡 참고: 파일 크기(
8G)는 시스템 RAM 크기나 용도에 따라 적절히 설정합니다.
스왑 파일은 민감한 메모리 데이터가 저장되므로, 루트(root) 사용자만 읽고 쓸 수 있도록 권한을 설정하는 것이 필수 보안 조치입니다.
# 소유자(root)에게만 읽기(4) 및 쓰기(2) 권한을 부여합니다.
sudo chmod 600 /swapfile
생성된 일반 파일을 리눅스 커널이 스왑 공간으로 인식할 수 있도록 포맷하고 필요한 스왑 시그니처를 작성합니다.
# /swapfile을 스왑 영역으로 설정합니다.
sudo mkswap /swapfile
시스템을 재부팅하지 않고 현재 세션에서 스왑 파일을 사용하도록 활성화합니다.
# 스왑 파일을 활성화합니다.
sudo swapon /swapfile
스왑 파일이 시스템에 성공적으로 추가되었고 활성화 상태인지 다시 확인합니다.
# /swapfile이 목록에 있는지, Type이 file인지 확인합니다.
sudo swapon --show
# Swap 항목의 Total 크기가 증가했는지 확인합니다.
free -h
스왑 파일을 영구적으로 사용하려면, 시스템 부팅 설정 파일인 **/etc/fstab**에 등록해야 합니다.
/etc/fstab 파일 수정편집기(nano 권장)를 사용하여 /etc/fstab 파일을 열고, 파일의 맨 마지막 줄에 스왑 파일 정보를 추가합니다.
sudo nano /etc/fstab
파일 끝에 다음 한 줄을 정확히 추가합니다.
/swapfile none swap sw 0 0
필드 의미:
/swapfile(경로) -none(마운트 지점) -swap(유형) -sw(옵션) -0(Dump) -0(Pass)
재부팅하지 않고 /etc/fstab에 추가한 내용이 즉시 적용되도록 시스템을 업데이트합니다.
# systemd 설정을 다시 불러옵니다.
sudo systemctl daemon-reload
# /etc/fstab에 등록된 모든 스왑 영역을 활성화합니다.
sudo swapon -a
Swappiness 값은 리눅스가 RAM 대신 **스왑(디스크)**을 얼마나 적극적으로 사용할지 결정하는 설정입니다. 이 값을 낮추면 디스크 I/O를 줄여 성능 향상에 도움이 될 수 있습니다.
cat /proc/sys/vm/swappinesssysctl.conf 파일 수정: /etc/sysctl.conf 파일을 열어 다음 한 줄을 추가합니다. (은 RAM 사용을 최대한 선호한다는 의미)sudo nano /etc/sysctl.conf
# 파일에 다음 줄을 추가:
vm.swappiness=10# sysctl 설정을 즉시 적용합니다.
sudo sysctl -p