콘텐츠로 이동

스왑 공간 관리 (Swap Space Management)

Jan 27, 2026

스왑 공간은 물리 메모리가 부족할 때 페이지를 임시로 저장하는 이차 저장장치 영역으로, 가상 메모리 시스템을 지원합니다. 사용하지 않는 페이지를 스왑 공간으로 내보내면 더 많은 프로세스를 실행할 수 있습니다.

  1. 익명 메모리(Anonymous Memory) 저장: 파일에 매핑되지 않은 메모리 (스택, 힙)
  2. 코드/데이터 페이지: 파일에 매핑된 페이지는 스왑 대신 원본 파일에서 재로드
방식설명장단점
파일 시스템 내 파일일반 파일로 스왑 공간 생성간편, 크기 조절 용이 / 파일 시스템 오버헤드
전용 파티션 (Raw)파일 시스템 없는 전용 파티션빠름, 단편화 적음 / 크기 고정
하이브리드둘 다 사용 가능 (Linux)유연성 / 관리 복잡
  • 구조: 4KB 페이지 슬롯의 배열
  • 스왑 맵: 각 슬롯의 사용 상태를 나타내는 정수 배열 (0=빈 슬롯, >0=사용 중, 값=공유 프로세스 수)
  • 다중 스왑: 여러 스왑 영역을 별도 저장장치에 분산 → I/O 대역폭 분산
스왑 맵 (정수 배열)
┌────┬────┬────┬────┬────┬────┬────┬────┐
│ 1 │ 0 │ 3 │ 0 │ 1 │ 0 │ 0 │ 2 │
└────┴────┴────┴────┴────┴────┴────┴────┘
│ │ │ │ │
│ │ └─ 3개 프로세스 공유 (CoW) │
│ └─ 빈 슬롯 └─ 2개 프로세스 공유
└─ 1개 프로세스 사용 중
  • 과거 권장: 물리 메모리의 2배
  • 현대 권장: 메모리 충분하면 작게, 하이버네이션 사용 시 최소 RAM 크기
  • 부족 시: OOM(Out of Memory) → 프로세스 강제 종료 또는 크래시

8GB RAM 시스템에서 16GB 가상 메모리를 사용할 때, 자주 사용하지 않는 8GB는 스왑 아웃됩니다. 해당 페이지에 접근하면 페이지 폴트 → 스왑 인이 발생합니다.

  • SSD 스왑: 랜덤 접근 빠름, 스왑 성능 좋음 / 쓰기 수명 감소
  • HDD 스왑: 저렴, 용량 큼 / 랜덤 I/O 느림