스왑 관리
쉽게 말하면
메모리(작업 책상)가 꽉 차면, 당장 안 쓰는 내용을 디스크의 한 구역에 잠시 옮겨 두는데 이 구역이 스왑이에요. 스왑이 있으면 메모리가 모자라도 바로 멈추지 않지만, 디스크는 메모리보다 훨씬 느려요.
시험용 정의
스왑은 메모리가 부족할 때 당장 쓰지 않는 메모리 내용을 디스크로 옮겨 두는 공간이다. 스왑 파티션이나 스왑 파일로 만들 수 있다.
비유로 이해하기
책상(메모리)이 꽉 차면 당장 안 보는 책을 옆 서랍(스왑)에 넣어 두는 것이다. 서랍은 책상보다 꺼내기 느리다.
자세히
명령
| 명령 | 뜻 |
|---|---|
| mkswap /dev/sdb2 | 스왑 영역 만들기 |
| swapon /dev/sdb2 | 스왑 켜기 |
| swapoff /dev/sdb2 | 스왑 끄기 |
| swapon -s (또는 --show) | 사용 중인 스왑 목록 |
| swapon -a | fstab의 스왑 모두 켜기 |
| free -h | 메모리와 스왑 사용량 |
스왑 파일 만들기
dd if=/dev/zero of=/swapfile bs=1M count=2048 (2GB 파일) → chmod 600 /swapfile → mkswap /swapfile → swapon /swapfile. fstab에는 /swapfile none swap defaults 0 0.
크기
예전에는 "메모리의 2배"가 관례였다. 요즘은 메모리가 크면 더 작게 잡고, 최대 절전(hibernate)을 쓰려면 메모리 이상으로 잡는다.
시험에 이렇게 나와요
- 스왑 만들기 →
mkswap, 켜기·끄기 →swapon·swapoff, 확인 →free,swapon -s - fstab에 스왑은 마운트 포인트·형식 모두 swap
확인 문제
Q1. 파티션 /dev/sdb2를 스왑으로 쓰려고 한다. 올바른 순서는?
- mkfs.ext4 → swapon
- mount → mkswap
- mkswap → swapon
- swapon → mkfs
정답 보기
3번 mkswap → swapon
먼저 mkswap으로 스왑 영역을 만들고(스왑용 포맷), swapon으로 켠다. 스왑은 mount하지 않는다. 부팅 때마다 쓰려면 fstab에 등록한다.
Q2. 현재 활성화된 스왑 영역을 확인하는 명령은?
- swapoff -s
- mkswap -l
- swapon -s
- mount -s
정답 보기
3번 swapon -s
swapon -s (또는 swapon --show, cat /proc/swaps).
Q3. 파티션을 스왑 영역으로 초기화하는 명령은?
- mkswap
- fdisk -s
- mkfs.swap
- swapon -i
정답 보기
1번 mkswap
mkswap이다. 파티션을 스왑 영역으로 만든 뒤 swapon으로 켠다.
헷갈리기 쉬운 O·X
스왑 파티션은 mount 명령으로 활성화한다.
정답 보기
X swapon으로 켠다.
free 명령으로 메모리와 스왑 사용량을 함께 볼 수 있다.
정답 보기
O 맞는 설명이다.