Linux

[Linux] 스왑(Swap)

thdwldud 2025. 8. 1. 10:28

스왑(Swap)

  • 하드 디스크의 일부를 마치 메모리처럼 사용하게 해주는 기술인 스왑(Swap)은 일반적으로 리눅스 설치시에 설정
  • 그러나 스왑 영역이 부족한 경우 리눅스 설치 후에도 디스크의 남은 공간이나 파티션을 이용해서 추가 설정할 수 있음

mkswap

  • 스왑 파티션이나 스왑 파일을 생성하는 명령
mkswap [option] 스왑_파일 [size]
mkswap [option] 스왑_파티션

옵션

옵션 설명
-c 스왑 파티션 생성하기 전에 배드 블록을 검사하는 옵션

사용 예

  • 10240K 크기의 /swap-file을 생성한다. 크기를 나타내는 10240은 생략할 수 있음
mkswap /swap-file 10240
  • /dev/sdb2의 배드 블록 여부를 검사한 후에 스왑 파티션으로 생성
mkswap -c /dev/sdb2

swapon

  • 스왑 파티션이나 스왑 파일을 활성화하는 명령으로 스왑의 상태 확인도 가능
swapon [option] 스왑_파일
swapon [option] 스왑_파티션

옵션

옵션 설명
-a /etc/fstab 파일에 등록된 스왑 영역을 전부 활성화
noauto 옵션이 설정된 경우는 제외
-s 스왑 영역의 상태를 출력

사용 예

  • /swap-file을 활성화
swapon /swap-file
  • /dev/sdb2를 활성화
swapon /dev/sdb2
  • /etc/fstab 파일에 설정된 스왑 영역을 전부 활성화
swapon -a
  • 현재 스왑 상태를 출력
swapon -s

swapoff

  • 활성화된 스왑 파티션이나 스왑 파일을 중지시킴
swapoff [option] 스왑_파일
swapoff [option] 스왑_파티션

옵션

옵션 설명
-a 모든 스왑 영역을 중지 시킴

 

스왑 영역 만들기

1. 스왑 파일 생성하기

  1. dd 명령을 이용하여 원하는 파일의 크기만큼 스왑 파일을 생성한다
    • if에 사용한 /dev/zero는 이름 그대로 초기화할 때 사용하는 장치 파일명이고, of에는 생성할 파일명을 입력한다. bs는 블록 크기는 지정하는 항목으로 단위를 붙이지 않으면 바이트로 처리한다. count는 bs에 설정한 블록의 개수를 의미하므로 1GB의 파일이 생성됨
    • dd if=/dev/zero of=/swap-file bs=1k count=1024000
  2. 스왑 파일 생성
    • mkswap /swap-file
  3. 스왑 파일 활성화
    • swapon /swap-file
  4. 시스템 부팅시 마다 사용할 경우에는 /etc/fstab 파일에 등록
    • /swap-file swap swap defaults 0 0

2. 스왑 파티션 생성하기

  1. fdisk 명령을 이용하여 스왑 파티션 생성
    • 파티션 분할 생성 후에 t 명령을 이용해서 파티션의 속성을 스왑 영역 코드인 “82”를 입력해야 함. 여기서 /dev/sdb2로 생성했다고 가정
    • fdisk /dev/sdb
  2. 스왑 파티션 생성
    • mkswap -c /dev/sdb2
  3. 스왑 파티션 활성화
    • swapon /dev/sdb2
  4. 시스템 부팅시 마다 사용할 경우에는 /etc/fstab 파일에 등록
    • /dev/sdb2 swap swap deafults 0 0