아마존 AWS EC2 프리티어로 생성한 EC2 인스턴스 유형이 t2.micro인데, 이게 1Core 1G 스펙이다. 테스트 용도로 사용하기에 별 문제 없을 줄 알았는데, 오늘 python3를 컴파일 설치하면서 메모리가 부족해서 에러가 나는걸 목격하였다. 다른 이미지는 생성해보지 않아서 모르겠는데 Amazon Linux 2 AMI는 기본적으로 swap 파티션이 따로 생성되어 있지 않았다. 따라서 이런 경우 필요시 수동으로 파일을 생성하여 swap에 추가하는 방법을 간단히 설명하겠다.



1. dd로 swap에 활용할 파일 생성


아래 예제는 /swap01 이라는 4GiB 짜리 파일을 생성하는 것이다.


dd if=/dev/zero of=/swap01 bs=1MiB count=4096



2. Permission 변경


변경하지 않으면 swapon에서 0600으로 변경하라는 경고가 뜬다.


chmod 600 /swap01



3. mkswap으로 파일에 swap 영역 생성


mkswap /swap01



4. /etc/fstab에 아래 형식으로 라인 추가 (부팅시 자동 추가되도록)


/swap01		swap	swap	defaults	0 0



5. 적용 및 확인


/etc/fstab에 추가했다면 swapon -a 명령어로 활성화 가능하다.

/etc/fstab에 추가하지 않고 임시로만 사용할 경우 swapon "파일명" 하면 된다.


swapon /swap01


확인은 free 명령어나 swapon, cat /proc/swaps 등으로 가능하다.

(아래는 AWS는 아니고 집 컴퓨터 Hyper-V 위에 올린 CentOS 7으로 테스트한 내용)