본문 바로가기
Linux

[Linux] SWAP 메모리 생성 및 변경 방법

by haku-s 2024. 7. 3.
728x90

리눅스에서 SWAP 메모리는 물리적은 RAM이 부족할 때 사용되는 가상 메모리 공간이다.

SWAP 메모리는 디스크의 일부를 할당하여 메모리처럼 사용하는 기능이다.

 

SWAP 메모리의 역할 및 기능

  • 확장된 메모리: RAM이 부족할 때 디스크의 일부를 메모리로 사용하여 시스템 성능을 유지
  • 성능 저하: SWAP 메모리는 디스크를 사용하므로 실제 RAM보다 속도가 훨씬 느리다. 따라서 SWAP이 사용되면 시스템 성능이 저하될 수 있다.
  • 메모리 관리: 커널은 사용하지 않는 메모리 페이지를 SWAP 영역으로 옮겨 RAM을 확보한다.

SWAP 파티션과 SWAP 파일

  • SWAP 파티션: 디스크의 특정 파티션을 SWAP 영역으로 사용하는 방법이다.
  • SWAP 파일: 기존 파일 시스템 내에서 파일을 생성하여 SWAP 영역으로 사용하는 방법이다.

아래 이미지는 htop 명령어로 리눅스 시스템에서 실행 중인 프로세스들을 실시간으로 모니터링하고 관리하는 터미널 기반 뷰어이다.

여기에서 CPU, 메모리, SWAP 사용량을 직관적으로 확인 가능하다.

지금 설정된 SWAP 메모리의 크기는 32GB이다.

SWAP 파티션 생성

  1. 파티션 생성: 디스크에 새로운 파티션을 만들고 SWAP 용도로 설정한다.
  2. 포맷: 새로 생성된 파티션을 SWAP으로 포맷한다.
  3. 활성화: SWAP 파티션을 활성화한다.
  4. '/etc/fstab'에 추가: 재부팅 시 SWAP 파티션이 자동으로 마운트 되도록 '/etc/fstab'에 추가한다.
sudo fdisk /dev/sdX
sudo mkswap /dev/sdXn
sudo swapon /dev/sdXn
echo '/dev/sdXn none swap sw 0 0' | sudo tee -a /etc/fstab

 

SWAP 파일 생성

  1. 파일 생성: 원하는 크기의 SWAP 파일을 생성한다.
    • 아래 예제 코드는 1GB씩 32개를 만들어 총 32GB의 SWAP Mem.을 사용하도록 설정하는 것이다.
  2. 권한설정: SWAP 파일의 권한을 설정한다.
  3. 포맷: SWAP 파일을 SWAP 영역으로 포맷한다.
  4. 활성화: SWAP 파일을 활성화한다.
  5. '/etc/fstab'에 추가: 재부팅 시 SWAP 파티션이 자동으로 마운트 되도록 '/etc/fstab'에 추가한다.
sudo dd if=/dev/zero of=/swapfile bs=1G count=32
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

 

만약 swapfile이 사용하고 있어 변경이 불가능할 경우 다음과 같이 종료하거나 지우도록한다.

sudo swapoff /swapfile
sudo rm /swapfile

 

모든 설정이 끝난 후 다시 htop 화면에서 Swp의 크기가 올바르게 변경되었는지 확인한다.

728x90