☁️
Ubuntu에서 Swap Memory 설정하기
March 19, 2024
Ubuntu에서 Swap Memory 설정하기
개요
AWS 프리티어에서 EC2를 사용하는데, Jenkins 에서 gradle 빌드 시 EC2 인스턴스가 완전 먹통이 되어버리는 문제가 발생했다.
로그를 살펴보고 구글링을 하다보니 원인이 램 용량 부족때문인 것 같아 Swap Memory 설정을 하였다.
Swap Memory 설정하기
df -h
- 위 명령어로 하드디스크 용량을 확인한다.
- 여기서는 /dev/root가 하드디스크를 나타낸다.
free
- 위 명령어로 현재 사용하고 있는 메모리와 Swap 메모리를 확인할 수 있다.
- 0이므로 Swap 메모리가 설정되지 않은 상태이다.
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
- Ubuntu에서는 Swapfile을 이용하여 Swap 메모리를 설정할 수 있다.
- 프리티어 EC2 인스턴스의 램은 1GB이기 때문에 Swap 메모리 최대치(2배)인 2GB로 설정한다.
- 그리고 swapfile의 권한을 수정해준다.
sudo mkswap /swapfile
sudo swapon /swapfile
mkswap /swapfile
: 해당 파일을 스왑 공간으로 사용할 수 있도록 준비한다.- 출력에는 스왑 파일을 크기와 UUID가 표시된다.
swapon /swapfile
: 스왑 공간을 활성화한다.
sudo vim /etc/fstab
- 위 명령어는 Linux 시스템의 파일 시스템 테이블을 설정하는 파일이다.
- 부팅 시에 시스템이 어떤 디스크를 마운트할지, 어떤 옵션으로 마운트할지 등을 지정한다.
- 위 명령어로 vim 에디터가 열리면 다음의 문장을 삽입한다.
/swapfile swap swap defaults 0 0
- /swapfile: 스왑 파일의 경로
- swap: 파일 시스템 유형
- swap: 마운트 지점
- defaults: 마운트할 때 사용할 옵션
- 0: 파일 시스템이 백업되어야 하는지 여부
- 0: 파일 시스템 검사 순서
free
- 마지막으로 다시 free 명령어로 Swap 메모리가 잘 할당되었는지 확인한다.
Swap Memory 사용시 주의사항
Swap 메모리는 제한된 메모리 내에서 확장성을 제공하고 응용 프로그램의 용량을 증가시킬 수 있지만,
추가적인 디스크 IO작업으로 인해 성능이 떨어지고 응답시간이 지연될 수 있다. 또, 저장장치의 수명을 단축시킬 수 있다.