작은 용량의 RAM을 사용하면서 여러 기능을 사용하다보면 메모리 용량이 부족한 경우가 종종 발생합니다.
메모리 용량을 늘리기 위해서는 리눅스 커널에서 제공하는 스왑(SWAP)을 사용하면 됩니다.
스왑은 RAM이 부족할 때, 디스크의 일부를 임시 메모리처럼 사용하는 공간입니다.
0. 스왑 공간 확인하기
$ free -h
스왑을 위해서는 스왑 공간을 할당해야 합니다.
현재 사용 중인 환경에 스왑 공간이 존재하는지 여부는 free -h 명령을 통해서 확인할 수 있습니다.
1. 스왑 파일 생성
$ sudo dd if=/dev/zero of=/swapfile bs=128M count=16
먼저 dd 명령을 통해 스왑 파일을 생성해야 합니다.
bs는 블록 크기이고, count는 블록 수 입니다.
일반적으로 스왑 공간은 현재 메모리의 2배를 권장하는 편이며, 저는 1GB RAM을 사용 중이기 때문에, 2GB의 스왑 공간을 할당할 것입니다.
스왑 공간은 bs * count로 계산할 수 있으며, 보통 bs를 128MB로 고정하는 편이므로 count는 16이 도출되었습니다. (128 * 16 = 2048)
2. 스왑 파일의 읽기/쓰기 권한 부여
$ sudo chmod 600 /swapfile
$ ls -l
chmod 명령을 통해 스왑파일의 읽기 및 쓰기 권한을 업데이트합니다.
권한이 업데이트 된 것인 ls -l을 통해서 확인하실 수 있습니다.
3. 스왑 영역 설정
$ sudo mkswap /swapfile
$ sudo swapon /swapfile
$ sudo swapon -s
mkswap, swapon을 통해 스왑 영역을 설정합니다.
swapon -s을 통해서 스왑 영역이 적용된 것을 확인할 수 있습니다.
4. 재부팅시 자동으로 스왑 설정 유지하기
$ sudo vi /etc/fstab
# 아래 라인을 작성
/swapfile swap swap defaults 0 0
3번에 swapon /swapfile으로 스왑을 활성화했지만, 서버를 재부팅하면 사라지게 됩니다.
따라서 서버를 재기동하더라도 다시 스왑 공간을 사용하고 싶다면 파일 시스템 정보를 수정해야 합니다.
/etc/fstab에는 다른 설정 라인이 있기 때문에 가장 마지막 줄에 /swapfile 을 작성해주시면 됩니다.
리눅스는 일반적으로 vi를 통해서 파일을 수정하는데, nano 등 다른 에디터를 사용하셔도 무방합니다.
저는 vi를 사용할 것이고, 아래에 간단히 순서대로 작성하는 방법을 작성해 놓겠습니다.
(#의 뒤는 설명이므로 무시하셔도 됩니다.)
0) sudo vi /etc/fstab
1) Shift + G # 마지막 줄로 이동
2) o # 수정 모드로 변경
3) /swapfile swap swap defaults 0 0 # 작성
4) ESC
5) :wq # 저장 후 나가기
5. 확인
free -h로 다시 확인해보시면 Swap 영역이 2GB로 잘 적용된 모습을 확인하실 수 있습니다.
[AWS] EC2 고정 IP(탄력적 IP) 설정하기 (0) | 2025.03.25 |
---|---|
[AWS] EC2 프리티어 환경 구축하기 (Feat. Ubuntu, PuTTY) (0) | 2025.03.24 |
[Infra] Jenkins 사용하기 (feat. docker-compose) (1) | 2023.12.24 |
[Infra] SSL 발급 및 설정하기 (feat. Letsencrypt) (0) | 2023.12.23 |
[Infra] GCP 서버 외부 도메인 연결 (feat. Cafe24) (1) | 2023.12.21 |