# Linux의 스왑 공간

> 스왑의 개념, free 및 swapon 명령어로 확인하는 방법, 스왑 파일을 추가하는 방법, 그리고 vm.swappiness가 변경하는 내용에 대해 설명합니다.

스왑은 Linux 커널이 메모리의 오버플로로 사용하는 디스크 공간입니다. 자주 사용되지 않는 메모리 페이지가 그곳으로 이동하여 RAM이 활성 작업을 위해 여유 상태를 유지하도록 합니다. 전용 파티션이나 스왑 파일일 수 있으며, free -h 및 swapon --show 명령어로 표시됩니다.

## 스왑이 여전히 유용한 이유

RAM이 충분하더라도 스왑을 통해 커널은 유휴 페이지를 메모리 밖으로 이동시킬 수 있으며, 메모리 부족 킬러(OOM killer)가 프로세스를 중단하기 전에 버퍼를 제공합니다. 그러나 지속적으로 심한 스와핑은 시스템에 더 많은 RAM이나 더 적은 작업량이 필요함을 의미합니다.

## 스와피니스

커널 설정인 vm.swappiness(0~200, 기본값 60)는 커널이 파일 캐시를 삭제하는 것에 비해 얼마나 쉽게 스왑을 수행할지에 영향을 줍니다. 값이 낮을수록 애플리케이션 메모리가 RAM에 더 오래 유지됩니다. 이 값은 'sysctl vm.swappiness'로 읽고 /etc/sysctl.d/ 아래의 파일에 영구적으로 설정됩니다.

## 스왑 파일

스왑 파일은 생성되고, mkswap으로 포맷되며, swapon으로 활성화되고, 재부팅 후에도 유지되도록 /etc/fstab에 추가됩니다. 권한은 반드시 600이어야 합니다.

## 2 GB 스왑 파일 추가 방법

1. 파일 생성: sudo dd if=/dev/zero of=/swapfile bs=1M count=2048
2. 접근 권한 제한: sudo chmod 600 /swapfile
3. 포맷: sudo mkswap /swapfile
4. 활성화: sudo swapon /swapfile
5. 영구 설정: /etc/fstab에 '/swapfile none swap sw 0 0' 줄 추가
6. 확인: swapon --show 및 free -h

## 주의 사항

- Btrfs에서 스왑 파일에는 특별한 준비(쓰기 시 복사(COW) 방지)가 필요합니다. 배포판의 가이드를 따르세요.
- /etc/fstab의 실수는 시스템 부팅을 막을 수 있습니다. 재부팅하기 전에 해당 줄을 확인하세요.

## 출처

- [swapon(8)](https://man7.org/linux/man-pages/man8/swapon.8.html)
- [mkswap(8)](https://man7.org/linux/man-pages/man8/mkswap.8.html)
- [free(1)](https://man7.org/linux/man-pages/man1/free.1.html)
- [/proc/sys/vm 문서 (kernel.org)](https://www.kernel.org/doc/html/latest/admin-guide/sysctl/vm.html)

최종 업데이트: 2026-10-08
URL: https://raincleaner.eu/ko/wiki/linux/swap
