Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AWS EC2 (ubuntu) swap memory #10

Open
yunyoung1819 opened this issue Jul 22, 2023 · 0 comments
Open

AWS EC2 (ubuntu) swap memory #10

yunyoung1819 opened this issue Jul 22, 2023 · 0 comments
Assignees
Labels

Comments

@yunyoung1819
Copy link
Owner

yunyoung1819 commented Jul 22, 2023

상황

  • AWS EC2(t2.micro) 를 사용하던 중 CPU 사용량이 100퍼센트에 근접하면서 SSH 연결 등이 끊기는 상황

개념

SWAP 메모리

  • swap 메모리란 쉽게 말해 램이 부족할 때 하드디스크의 일부를 램처럼 사용하는 것
  • 가상 메모리를 리눅스에서 swap 메모리라고 함
  • 아래 그림처럼 프로세스의 일부를 가상 메모리인 하드디스크에 올렸다가 다시금 램으로 불러오는 방식을 통해 더 많은 용량의 램을 사용하는 것처럼 구동하는 것
    swap메모리

해결

아래와 같은 순서로 EC2 인스턴스에 swap 메모리를 적용

  1. swap 메모리를 할당할 aws ec2에 접속함
$ ssh -i {key-pem 파일} {서버 OS}@{퍼블릭 IP주소}
  • df -h: 현재 마운트된 디스크 크기, 사용량, 남아있는 용량 확인
  1. Swap 메모리를 할당
# swapfile 메모리를 할당
sudo dd if=/dev/zero of=/swapfile bs=128M count=16
  • dd 명령어를 사용하여 루트 파일 시스템에 swap 파일을 생성
  • 명령에서 bs는 블록 크기이고 count는 블록 수입니다. swap 파일의 크기는 dd 명령의 블록 크기 옵션에 블록 수 옵션을 곱한 값
  • /dev/zero는 데이터 스토리지 초기화 관련 파일
  • bs=128M * count=16 으로 총 2GB (128MB * 16)로 swapfile 크기를 설정
  1. swapfile에 접근할 수 있는 권한을 설정한다.
# swapfile 권한 셋팅 (READ, WRITE)
sudo chmod 600 /swapfile
  • 읽기, 쓰기가 가능하도록 chmod 600으로 설정
  1. mkswap 명령어로 swapfile을 추가할 swap 공간을 생성한다.
# swap 공간 생성 (Make swap)
sudo mkswap /swapfile
  • mkswap은 Make swap의 약자
  1. swapon 명령어를 통해 swapfile을 swap memory에 추가한다
# swap 공간에 swapfile 추가하여 즉시 사용할 수 있도록
sudo swapon /swapfile
  1. /etc/fstab 파일을 편집하여 부팅 시 swap 파일을 활성화
# /etc/fstab vi 에디터 열기
sudo vi /etc/fstab

# 파일의 맨 끝 다음 줄에 아래 명령어 작성
/swapfile swap swap defaults 0 0
  • etc/fstab는 파일 시스템 정보를 저장하는 곳이다.
  • 파티션 변경 및 디스크 추가 시에는 이 파일에 등록해야 자동으로 마운트가 가능
  • 따라서 /etc/fstab 파일에 swapfile을 셋팅
  1. free 명령어로 ec2 메모리 상태를 확인
free
  • 램 1GB에 추가로 실제 디스크를 이용한 swap memory 2GB가 생성됨
  • 속도는 느리지만 램 1GB만 사용했을 때보다 서버의 부담이 줄어드는 것을 확인
  1. swap 메모리 할당 전후 비교
top
shift + p
  • top: CPU, 메모리 할당량을 프로세스 별로 확인할 수 있게 하는 명령어
  • shift + p: 메모리를 많이 사용하는 순으로 정렬해주는 명령어

참고

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant