상세 컨텐츠

본문 제목

리눅스 스왑 swap 설정 방법(+AWS 프리티어 멈춤 해결)

IT/Linux

by 조스톡 2022. 7. 19. 09:28

본문

728x90
반응형

2022.04.03 - AWS(아마존 웹서비스) EC2 프리티어 CPU사용량 100% 이슈

 

AWS(아마존 웹서비스) EC2 프리티어 CPU사용량 100% 이슈

AWS(아마존 웹서비스)에서는 '프리 티어'라는 제도를 운영하여 1년간 클라우드 서비스(EC2)를 무료로 사용할 수 있게 해줍니다. ​ 그러나 사용하는 과정에서 지속해서 SSH연결이 끊기고, 재접속을

chostock.com

 

문제

 

 

이번에 작성하는 리눅스 스왑(Swap) 설정은, 이전에 작성한 AWS EC2 프리티어 및 리눅스 서버 멈춤, SSH 접속 불가 현상 등 정상적으로 작동하지 않는 것을 해결할 수 있는 방법이기도 하다.

​

CPU 사용량이 100% 이슈는 성능이 부족한 것도 있겠으나, Swap 설정 이후 이용을 해본 뒤로 문제가 발생하지 않았기에 메모리가 부족하여 발생하는 것으로 추측된다.

​

​

해결, 리눅스 Swap 설정

 

먼저 Swap을 만드는 것은 메모리 대신 하드디스크의 용량을 사용하여 메모리처럼 사용하도록 하는 것이기에, 만들려고 하는 Swap 크기만큼 하드디스크 용량이 충분한지 확인해야 한다.(윈도에 있는 가상 메모리와 비슷하다.)

​

fallocate는 대용량 더미 파일을 만드는 명령어인데, 우리는 이를 이용해 swap에 사용될 공간을 만든다. 그리고 명령어 중 '1G'은 1GB 용량의 파일을 만든다는 의미로 목적에 맞게 용량을 조절하면 된다.

​

만약 fallocate가 설치되어 있지 않으면 오류가 발생할 것이다. 그때는 아래 괄호의 명렁어를 입력하면 된다.

​

아래 명령어 중 bs의 '1024'은 byte(바이트) 단위로, 1KB를 의미한다. 그렇게 1KB에 *1048576 하면 1,073,741,824B인 1GB가 된다. 2GB를 설정하고 싶다면 1048576*2=2,097,152를 적어도 되고, 좀 더 간단하게 128MB *16을 해서 2GB를 만들어도 된다.

​

sudo fallocate -l 1G /swapfile

(sudo dd if=/dev/zero of=/swapfile bs=1024 count=1048576)
(sudo dd if=/dev/zero of=/swapfile bs=128M count=16)

 

​

그리고 생성된 swapfile 파일의 권한을 600으로 변경해 준다. 나중에 다른 글로 다루려 하는데, 600(rw- --- ---)의 의미는 소유자에게만 접근 권한을 읽기, 쓰기만 허용한다는 의미이다.

​

sudo chmod 600 /swapfile​

 

권한 설정을 마쳤으니 Swap 설정을 하고, Swap 기능을 활성화한다.

​


sudo mkswap /swapfile​

sudo swapon /swapfile​

​

마지막으로 재부팅을 하더라도 스왑 Swap 설정이 사라지지 않도록 하기 위해서는 etc 폴더의 fstab 파일을 연 뒤 '/swapfile swap swap defaults 0 0'을 입력하면 된다.

​

 

sudo vi /etc/fstab

/swapfile swap swap defaults 0 0

스왑 Swap 확인

 

설정한 스왑 Swap이 정상적으로 적용됐는지 확인하기 위해서는 'free -h' 명령어를 입력하면 된다. 'swapon -s' 명령어를 통해 확인도 가능하다.(아래 사진은 2GB로 설정해서 Size의 숫자가 다르다.)

​

​

​

스왑 Swap 삭제 및 재설정(용량 늘리기&줄이기)

 

스왑 Swap을 삭제하거나 재설정을 하여 용량 늘리기, 줄이기를 하는 방법은 모두 비슷하다.

'Swap 삭제 → Swap 재생성' 하는 과정을 거친다. 용량을 늘릴 때는 굳이 삭제를 하지 않고 파일을 늘리면 되지만 깔끔하게 하기 위해선 같은 과정이 나은 듯하다.

​

먼저 스왑 Swap 기능을 끈 뒤, free -h 명렁어를 입력해 Swap 항목이 사라졌는지 확인한다.

 
sudo swapoff -v /swapfile

free -h​

​

파일을 삭제하는 rm 명령어를 통해 생성했던 Swap 파일을 삭제한다.

 

sudo rm /swapfile​

 

위 /etc/fstab에 작성했던 '/swapfile swap swap defaults 0 0' 내용을 삭제한다.

 
sudo vi /etc/fstab

/swapfile swap swap defaults 0 0

​

다시 용량을 늘리거나 줄이려는 경우, 다시 처음으로 돌아가 과정을 진행하면 된다.

728x90
반응형

관련글 더보기