공든탑앱 열기

스왑 관리

리눅스마스터 2급 · 파일 시스템 관련 명령어 · 약 7분

쉽게 말하면

메모리(작업 책상)가 꽉 차면, 당장 안 쓰는 내용을 디스크의 한 구역에 잠시 옮겨 두는데 이 구역이 스왑이에요. 스왑이 있으면 메모리가 모자라도 바로 멈추지 않지만, 디스크는 메모리보다 훨씬 느려요.

시험용 정의

스왑은 메모리가 부족할 때 당장 쓰지 않는 메모리 내용을 디스크로 옮겨 두는 공간이다. 스왑 파티션이나 스왑 파일로 만들 수 있다.

비유로 이해하기

책상(메모리)이 꽉 차면 당장 안 보는 책을 옆 서랍(스왑)에 넣어 두는 것이다. 서랍은 책상보다 꺼내기 느리다.

자세히

명령

명령뜻
mkswap /dev/sdb2스왑 영역 만들기
swapon /dev/sdb2스왑 켜기
swapoff /dev/sdb2스왑 끄기
swapon -s (또는 --show)사용 중인 스왑 목록
swapon -afstab의 스왑 모두 켜기
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)을 쓰려면 메모리 이상으로 잡는다.

시험에 이렇게 나와요

확인 문제

Q1. 파티션 /dev/sdb2를 스왑으로 쓰려고 한다. 올바른 순서는?

  1. mkfs.ext4 → swapon
  2. mount → mkswap
  3. mkswap → swapon
  4. swapon → mkfs
정답 보기

3번 mkswap → swapon

먼저 mkswap으로 스왑 영역을 만들고(스왑용 포맷), swapon으로 켠다. 스왑은 mount하지 않는다. 부팅 때마다 쓰려면 fstab에 등록한다.

Q2. 현재 활성화된 스왑 영역을 확인하는 명령은?

  1. swapoff -s
  2. mkswap -l
  3. swapon -s
  4. mount -s
정답 보기

3번 swapon -s

swapon -s (또는 swapon --show, cat /proc/swaps).

Q3. 파티션을 스왑 영역으로 초기화하는 명령은?

  1. mkswap
  2. fdisk -s
  3. mkfs.swap
  4. swapon -i
정답 보기

1번 mkswap

mkswap이다. 파티션을 스왑 영역으로 만든 뒤 swapon으로 켠다.

헷갈리기 쉬운 O·X

스왑 파티션은 mount 명령으로 활성화한다.

정답 보기

X swapon으로 켠다.

free 명령으로 메모리와 스왑 사용량을 함께 볼 수 있다.

정답 보기

O 맞는 설명이다.

함께 보면 좋은 개념