하드 디스크의 파티션을 사용하여 Amazon EC2 인스턴스에서 스왑 공간으로 사용할 메모리를 할당하는 방법은 무엇인가요?

3분 분량
0

하드 디스크의 파티션을 사용하여 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스의 스왑 공간으로 사용할 메모리를 할당하려고 합니다. 어떻게 해야 하나요?

간략한 설명

메모리를 스왑 공간으로 할당하려면 다음을 수행합니다.

1..    스왑 공간 크기를 계산합니다.

2..    하드 디스크에 스왑 공간으로 파티션을 생성합니다.

3..    스왑 영역을 설정합니다.

스왑 공간으로 사용할 스왑 파일을 생성할 수도 있습니다. 자세한 내용은 스왑 파일을 사용하여 Amazon EC2 인스턴스에서 스왑 공간으로 사용할 메모리를 할당하는 방법은 무엇인가요?를 참조하세요.

참고: 인스턴스는 RAM 용량이 가득 차면 스왑 공간을 사용합니다. 스왑 공간은 적은 양의 RAM이 있는 인스턴스에 사용할 수 있지만 더 많은 RAM을 대체할 수는 없습니다. 스왑 공간은 인스턴스의 하드 디스크에 있기 때문에 실제 RAM에 비해 성능이 느려집니다. 메모리를 더 늘리거나 더 빠르게 하려면 인스턴스 크기를 늘리는 것이 좋습니다.

해결 방법

스왑 공간 크기 계산

스왑 공간은 물리적 RAM의 2배와 동일한 것이 가장 좋으며, 이 경우 물리적 RAM은 최대 2GB입니다. 2GB를 초과하는 경우 물리적 RAM을 1배 더 추가합니다. 스왑 공간이 32MB 이상인 것이 모범 사례입니다.

시스템 RAM 크기권장 스왑 공간
RAM 2GiB 이하RAM 용량의 2배, 최소 32MB
RAM 2GiB 초과, 64GiB 미만RAM 용량의 0.5배
64GiB 초과워크로드 또는 사용 사례에 따라 다름

하드 디스크에 스왑 공간으로 파티션 생성

1..    SSH를 사용하여 인스턴스에 로그인합니다.

2..    사용 가능한 볼륨을 나열합니다.

$ sudo fdisk -l

3..    목록에서 분할할 장치를 선택합니다. 이 예시에서는 /dev/xvda 장치를 사용합니다.

$ sudo fdisk /dev/xvda

4..    새 파티션을 생성합니다.

-> n

5..    파티션 유형을 선택합니다. 이 예시에서는 기본을 사용합니다.

-> p

6..    파티션 번호를 할당합니다. 이 예시에서는 파티션 2를 사용합니다.

-> 2

7..    입력(Enter) 키를 눌러 기본값 '첫 번째 섹터(First sector)'를 수락합니다.

8..    스왑 파일의 크기를 입력합니다. 이 예시에서 RAM은 2GB이고 생성된 파티션은 4GB(+4G로 지정됨)입니다.

-> +4G

9..    저장 후 종료합니다.

-> w

스왑 영역 설정

1..    partprobe 명령을 사용하여 파티션 테이블 변경을 OS에 알립니다.

$ partprobe

2..    이전 단계에서 생성한 스왑 파티션을 사용하여 Linux 스왑 영역을 설정합니다. 이 예시에서 스왑 파티션은 /dev/xvda2입니다.

$ mkswap /dev/xvda2

3..    파티션을 스왑 공간으로 추가합니다.

$ sudo swapon /dev/xvda2

4..    현재 스왑 공간을 표시합니다.

$ sudo swapon -s

다음과 유사한 출력이 표시됩니다.

Filename                Type        Size      Used    Priority
/dev/xvda2              partition   4194300   0       -1

5..    다음 명령을 사용하여 재부팅 후 스왑 메모리 할당이 영구적으로 적용되도록 설정합니다.

참고: xvda2가 스왑 디바이스 이름이 아닌 경우 이 용어를 환경의 스왑 디바이스 이름으로 바꿉니다.

$ cp /etc/fstab /etc/fstab_$(date +%Y%m%d%H%M%S)
$ cat <<EOF >> /etc/fstab
`sudo blkid /dev/xvda2 | grep -Eo '[[:alnum:]]{8}(-[[:alnum:]]{4}){3}-[[:alnum:]]{12}'` swap swap defaults 0 0
EOF
$ reboot

관련 정보

스왑 공간

AWS 공식
AWS 공식업데이트됨 7달 전