Rain WikiWindows · Linux · Android

Linux의 스왑 공간

개념모든 Linux 배포판삭제해도 안전: 아니요

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

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

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

2스와피니스

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

3스왑 파일

스왑 파일은 생성되고, 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의 실수는 시스템 부팅을 막을 수 있습니다. 재부팅하기 전에 해당 줄을 확인하세요.

출처

  1. swapon(8) man7.org
  2. mkswap(8) man7.org
  3. free(1) man7.org
  4. /proc/sys/vm 문서 (kernel.org) kernel.org

최종 검토: