CS

[Linux] 스왑 공간

kyoulho 2024. 8. 26. 21:03

스왑 공간은 리눅스 시스템에서 물리적 메모리(RAM)가 부족할 때, 디스크의 일부를 임시 메모리로 사용하는 공간이다. 시스템의 RAM이 가득 차면 사용하지 않는 데이터나 프로그램의 일부를 스왑 공간으로 옮겨 RAM을 확보하게 된다. 이 과정을 스왑아웃(swap out)이라고 하며, 스왑 공간에서 다시 RAM으로 데이터를 가져오는 과정은 스왑인(swap in)이라고 한다.

스왑은 크게 두 가지 형태로 존재할 수 있다:

  • 스왑 파티션: 디스크의 일부를 스왑 전용 파티션으로 할당한 것.
  • 스왑 파일: 일반 파일 시스템에서 파일로 존재하는 스왑 공간.

 

스왑 공간의 역할

  • 메모리 부족 시 도움: RAM이 부족해지면 스왑 공간을 활용하여 시스템의 안정성을 유지할 수 있다.
  • 대용량 작업 지원: 스왑 공간을 활용하면 대규모 데이터 처리나 메모리 집약적 작업을 할 때 시스템이 더 잘 대응할 수 있다.
  • 시스템 성능 보조: 스왑 공간이 활성화되어 있으면, 메모리가 부족한 상황에서도 시스템이 멈추지 않고 작동할 수 있다.

 

스왑 공간 관리 명령어

스왑 공간 확인

  • free 명령어: 현재 시스템에서 사용 중인 메모리와 스왑 공간의 상태를 확인할 수 있다.
    free -h
  • swapon --show 명령어: 현재 활성화된 스왑 파티션과 파일의 목록과 사용량을 확인할 수 있다.
    swapon --show

스왑 공간 활성화와 비활성화

  • 스왑 활성화 (swapon): 특정 스왑 파티션 또는 파일을 활성화한다.
    sudo swapon /dev/sda3 # 스왑 파티션 활성화
    sudo swapon /swapfile # 스왑 파일 활성화
  • 스왑 비활성화 (swapoff): 특정 스왑 파티션이나 파일의 사용을 중단한다.
    sudo swapoff /dev/sda3 # 스왑 파티션 비활성화
  • 모든 스왑 공간 비활성화: 시스템에서 모든 스왑 공간을 비활성화한다.
    sudo swapoff -a

스왑 파일 생성 및 설정

  • 스왑 파일 생성: 스왑 파일을 생성하려면 dd 명령어를 사용한다. 아래 명령어는 4GB 크기의 스왑 파일을 생성하는 예시이다.
    sudo dd if=/dev/zero of=/swapfile bs=1G count=4
  • 스왑 파일 설정: 생성된 파일을 스왑 공간으로 설정한다.
    sudo mkswap /swapfile
  • 스왑 파일 활성화: 설정한 스왑 파일을 활성화한다.
    sudo swapon /swapfile

스왑 파일을 영구적으로 활성화

  • /etc/fstab에 추가: 스왑 파일을 시스템 부팅 시 자동으로 활성화하려면 /etc/fstab 파일에 아래 라인을 추가한다.
    /swapfile swap swap defaults 0 0

'CS' 카테고리의 다른 글

[Linux] 파일 시스템(/etc/fstab)  (0) 2024.08.26
[Linux] 호스트네임 관리와 네트워크 설정  (0) 2024.08.26
Blocking I/O & Non-Blocking I/O  (0) 2024.08.12
스레드의 종류  (0) 2024.08.12
운영 체제의 모드와 시스템 콜  (1) 2024.08.11