Ubuntu에서 스와프 공간 추가하는 방법 (5GB 예시)
Source: Dev.to
스와프가 중요한 이유
스와프는 물리적 RAM이 가득 찼을 때 운영체제가 넘쳐나는 데이터를 저장하는 디스크 공간입니다. 스와프가 없으면 메모리가 소진될 때 커널이 프로세스를 강제로 종료시키는(OOM 킬러) 현상이 발생할 수 있습니다. 스와프를 사용하면 시스템이 충돌 대신 점진적으로 성능이 저하됩니다.
내 환경: 7.57 GB RAM, 0 KB 스와프. 5 GB 스와프를 추가하면 무거운 부하에서도 시스템이 여유를 가질 수 있습니다.
스와프 추가 단계
단계 1: 스와프 파일 만들기
sudo fallocate -l 5G /swapfilefallocate를 사용할 수 없을 경우, 대안으로 dd를 사용합니다:
sudo dd if=/dev/zero of=/swapfile bs=1M count=5120단계 2: 권한 잠금
sudo chmod 600 /swapfile이 명령은 루트만 스와프 파일을 읽고 쓸 수 있게 하여 잠재적인 데이터 유출을 방지합니다.
단계 3: 스와프 형식 지정
sudo mkswap /swapfile예시 출력:
Setting up swapspace version 1, size = 5 GiB (5368705024 bytes)
no label, UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx단계 4: 스와프 활성화
sudo swapon /swapfile단계 5: 영구 적용
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab이 줄을 /etc/fstab에 추가하면 부팅 시 스와프가 자동으로 활성화됩니다.
단계 6: 확인
free -h다음과 비슷한 결과가 보여야 합니다:
total used free shared buff/cache available
Mem: 7.5Gi 3.2Gi 1.1Gi 512Mi 3.2Gi 3.6Gi
Swap: 5.0Gi 0B 5.0Gi스와프가 이제 활성화되었습니다. ✅
보너스: 스와핑성(swapiness) 조정
우분투는 기본값으로 vm.swappiness=60을 사용합니다. 이는 RAM 사용량이 약 40 %에 도달했을 때 스와프를 사용하기 시작한다는 의미입니다. RAM이 충분한 데스크톱이나 워크스테이션에서는 더 낮은 값을 사용하는 것이 좋습니다.
현재 값 확인
cat /proc/sys/vm/swappiness값을 10으로 설정 (즉시 적용)
sudo sysctl vm.swappiness=10영구 적용
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf스와핑성 참고표
| 값 | 동작 |
|---|---|
0 | 스와프를 전혀 사용하지 않음 (비상 상황에서만 사용) |
10 | RAM을 강하게 우선 사용 — 데스크톱/워크스테이션에 적합 |
60 | 우분투 기본값 — 균형 잡힌 설정 |
100 | 스와프를 적극적으로 사용 |
RAM이 4 GB 이상인 대부분의 데스크톱 사용자에게 10이 최적의 값입니다.
빠른 요약
# 1. 만들기
sudo fallocate -l 5G /swapfile
# 2. 보안
sudo chmod 600 /swapfile
# 3. 포맷
sudo mkswap /swapfile
# 4. 활성화
sudo swapon /swapfile
# 5. 영구 적용
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
# 6. 확인
free -h
# 보너스: 스와핑성 조정
sudo sysctl vm.swappiness=10
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf