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를 입력하고 나오면 현재 작성한 내용으로 저장을 하고 바깥으로 나오게 됩니다.