Categories: Korean클라우드

AWS-EC2에 가상메모리설정

EC2 가상 메모리 설정

EC2 서버에서 프로그램을 컴파일을 하거나 빌드를 실행 할 경우 멈춰서 움직이지 않는 경우를 볼 수가 있습니다. 그렇게 계속 기다리다 보면 스트레스를 받고 힘드시죠? 저도 그 마음을 충분히 이해합니다. 저도 언젠가 되겠지 하는 마음에 계속 기다렸던 경험이 있습니다. 그렇게 계속 기다리다 보니 많이 힘들었습니다.

그랬던 제가 공부와 인터넷 탐색을 통해서 컴파일이나 빌드를 할때 멈추는 현상이 없고 다운되는 현상이 없게 했습니다. 이 글을 끝까지 읽는다면 컴파일이나 빌드 그리고 또 다른 실행을 하여도 멈추거나 끊기는 현상 없이 실행이 될 수 있습니다. 

EC2에서 멈추거나 다운되는 현상이 일어나지 않게 하기 위해서는 가상 메모리를 설정을 진행을 하면 됩니다. 이 가상 메모리 설정만 잘 따라서 하시면 EC2 서버가 문제가 되는 상황 없이 컴파일이나 빌드와 같은 작업을 수행을 할 수 있습니다.

가상 메모리란?

가상 메모리는 간단하게 설명을 드리면 실제 존재 하는 메모리보다 더 많게 보이는 기술로 실행 파일을 전체로 올리지 않고 일부분만 올리고 나머지는 디스크에 적재를 하여 사용하게 됩니다. 결국 원래 메모리보다 더 많은 메모리를 사용을 할 수 있는 효과가 있습니다. 

※ EC2에 메모리 부족으로 멈추거나 다운되는 현상을 가상 메모리를 통해서 해결을 할 수 있습니다.

1. 현재 메모리 확인

2. Swap 파일 메모리 할당

sudo : 관리자 권한으로 실행

dd: 블록 단위로 파일을 복사하거나 파일 변환

if=/dev/zero: /dev/zero는 데이터 스토리지 초기화 관련 파일을 읽는다.

of=/swapfile: /swapfile에 쓴다.

bs=128M : 128M의 크기

count=16: 16번

/dev/zero의 데이터 스토리지 초기 관련 파일을 128M 크기만큼 16번 읽어서 /swapfile에 기록을 합니다.(결국 총 2G입니다.)

3. Swapfile 권한 설정

4. Swap 공간 생성

mkswap는 make swap의 약자로 /swapfile에 swap 공간을 만들어 줍니다.

5. swap 공간에 swapfile 추가

swapfile을 추가하여 즉시 사용이 가능하도록 swap 공간에 추가

swapon -s 명령어를 통해 공간에 추가된 정보를 확인 할 수 있습니다. 

6. /etc/fstab 파일 열기

/etc/fstab는 파일 시스템 정보를 저장하는 곳으로 현재 만든 swapfile을 등록을 해줘야 하기 위해서 /etc/fstab vi라는 명령어로 파일을 연다.

※ 파디션 변경 및 디스크 추가 시에 /etc/fstab파일에 등록을 하면 자동으로 마운트가 됩니다.

7. /etc/fstab 파일 쓰기

아래 사진과 같이 제일 하단에 /swapfile swap swap defaults 0 0 을 추가 해줍니다.

추가를 하려면 vi로 들어온 화면에서 i버튼을 클릭하면 insert라고 출력이 됩니다. 그러면 파일에 쓰기를 진행을 할 수 있습니다. 그리고 완료가 되면 ECS 버튼을 클릭하고 :wq를 입력하고 나오면 현재 작성한 내용으로 저장을 하고 바깥으로 나오게 됩니다.

8. 가상 메모리 확인

가상 메모리가 잘 적용이 되었는지 free -h로 확인을 합니다. 

Dolphin

Recent Posts

Java 총정리[97. Java GUI]

Java GUI Java GUI에 대해서 이번 걸음에서 배움으로써 GUI에 전반적인 지식과 Java GUI를 구현하는 방법…

7개월 ago

Java 총정리[96. Java TCP 통신 프로그램 구현]

Java TCP 통신 프로그램 구현 Java TCP 통신 프로그램 구현을 위해서 이전 걸음에서 쓰레드에 대한…

7개월 ago

Java 총정리[95.쓰레드 통신]

쓰레드 통신 이전 걸음에서 쓰레드의 임계영역에 대해서 같이 공부를 했습니다. 동기화에 대한 개념을 계속적으로 하고…

7개월 ago

Java 총 정리[94. 쓰레드 임계영역]

쓰레드 임계영역 이전 걸음에서 쓰레드의 동기화에 대해서 같이 공부를 했습니다. 동기화에 대한 전반적인 내용을 공부하고…

8개월 ago

Java 총 정리[93. 쓰레드 동기화]

쓰레드 동기화 이전 걸음에서 계속 쓰레드에 대해서 공부를 하고 있습니다. 쓰레드는 상당히 중요한 개념이기 때문에…

8개월 ago

Java 총 정리[92. 쓰레드 join()]

쓰레드 join() 이전 걸음에서 쓰레드의 전반적인 실행 흐름에 대해서 공부를 했습니다. 이제 배운 실행 흐름…

8개월 ago

This website uses cookies.