[CentOS] swap 메모리 늘리기

이민영·2024년 12월 10일

개인 프로젝트를 하면서 AWS 1년 무료 서버를 사용중인데 ec2 인스턴스 서버당 메모리 1GB, 총 디스크 사용량 30GB 밖에 안된다.
용량이 적어서 클라이언트 코드를 인스턴스 서버에 빌드할 때마다 cpu 사용률이 100%에 달하게 되고, 빌드가 중단되는 사태가 자주 발생하였다.

그래서 이를 해결하려고 여러가지 방법을 모색하던 중 가장 간단하게 할 수 있는 방법이 인스턴스 서버 내 swap 메모리를 늘리기였다.

🙄swap 메모리란?

스왑 메모리는 시스템의 물리적 메모리(RAM)가 부족할 때, 디스크 공간을 임시로 사용하는 메커니즘이다.
운영체제는 스왑 메모리를 사용하여 RAM의 일부 데이터를 디스크로 이동시켜 메모리 부담을 줄이고, 추가 작업을 처리할 수 있도록 한다.

참고로 스왑 메모리는 물리적 메모리(RAM)가 부족한 상황에서 유용하지만, 디스크 성능이 낮은 경우 과도한 스왑 사용은 시스템 속도를 저하시킬 수 있으므로 적절히 관리해서 사용해야 한다.

✅swap 메모리 설정하기

1. 스왑 파일 생성

디스크에 스왑 파일을 만든다. 예를 들어, 2GB 크기의 스왑 파일을 생성한다고 가정하자.

sudo fallocate -l 2G /swapfile
  • fallocate: 디스크에 지정한 크기의 파일을 만든디.
  • -l 2G: 파일 크기를 2GB로 지정한다.
  • /swapfile: 스왑 파일의 이름 및 경로.

2. 스왑 파일 권한 설정

스왑 파일은 보안상의 이유로 루트만 접근할 수 있어야 한다.

sudo chmod 600 /swapfile

3. 스왑 영역 초기화

스왑 파일을 스왑 영역으로 초기화한다.

sudo mkswap /swapfile
  • mkswap: 지정된 파일을 스왑 영역으로 설정한다.

4. 스왑 활성화

생성한 스왑 파일을 활성화한다.

sudo swapon /swapfile
  • swapon: 스왑 파일 또는 스왑 파티션을 활성화.

5. 활성화된 스왑 상태 확인

free -h
//또는 
swapon --show

6. 재부팅 시 스왑 유지
시스템 재부팅 후에도 스왑 파일을 유지하려면 /etc/fstab에 추가해야한다.

  • /etc/fstab 파일을 편집
sudo nano /etc/fstab
  • 코드 추가
/swapfile none swap sw 0 0
  • 저장 후 종료



추가로 스왑 메모리를 비활성화 하려면

  • 스왑 메모리 비활성화
sudo swapoff /swapfile
  • 스왑 파일 삭제
sudo rm /swapfile
profile
Frontend Developer

0개의 댓글