오라클 클라우드 VM 머신 메모리 늘리기
https://koonsland.tistory.com/79
https://codechacha.com/ko/linux-ram-memory/
보통 스왑 공간 크기를 계산할 때에는 다음과 같이 계산합니다.
- RAM 2GB 이하 : RAM 용량의 2배
- RAM 2GB 초과, 32GB 미만 : 4GB + (RAM - 2GB)
- RAM 32GB 이상 : RAM 용량의 1배
아마존에서도 공식적인 문서로 스왑을 처리하는 방법을 알려주고 있습니다.
아마존 해결방법 : https://aws.amazon.com/ko/premiumsupport/knowledge-center/ec2-memory-swap-file/
그럼 스왑 공간으로 사용할 수 있는 파일을 만들어 주도록 하겠습니다. 다음과 같은 순서로 진행해 주시면 됩니다.
메모리 확인
# 전체, 여유 메모리 크기 확인
free -h
# 물리적인 RAM 크기 확인
sudo dmidecode --type memory | more
#### dd 명령을 이용한 스왑 파일 생성
dd명령을 사용하여 리눅스 파일 시스템에 스왑 파일을 생성합니다. 파일은 루트에 생성합니다.
sudo dd if=/dev/zero of=/swapfile bs=128M count=16
여기서 bs는 블록의 크기이며 count는 블록의 수입니다. 즉, 128MB의 블록 16개를 만들겠다는 내용이므로 128MB x 16 = 2GB의 스왑 파일이 생성되는 것입니다.
2. 스왑 파일 권한 변경
다음은 스왑 파일에 대한 읽고, 쓰기 권한을 변경해 줍니다. 변경하는 명령어는 chmod입니다.
sudo chmod 600 /swapfile
1번에서 파일 시스템의 루트(/) 밑에 swapfile이라는 이름으로 파일을 생성했고 이 파일의 권한을 변경해준 것입니다. 600이라는 값은 rwx에서 rw의 권한을 준 것으로 읽고 쓰기에 대한 권한을 준 것입니다.
3. 스왑 영역 설정
이번은 권한 변경한 스왑 파일의 영역을 설정합니다. mkswap은 스왑을 만들겠다는 명령어입니다.
sudo mkswap /swapfile
이 명령어를 실행하고 나면 위에서 만든 /swapfile이라는 파일을 이제 스왑으로 사용하겠다고 영역 설정을 하는 것입니다.
4. 사용할 수 있도록 추가
스왑 영역을 만들었다 하더라도 바로 사용할 수 있는 것은 아닙니다. 이 공간을 사용한다고 추가해 주어야 합니다.
sudo swapon /swapfile
swapon이라는 명령어를 사용해서 만든 스왑 파일(/swapfile)을 즉시 사용할 수 있도록 설정해 줍니다.
5. 스왑 성공 여부 확인
1~4번까지 명령어를 입력했을 때, 정상적으로 성공했는지를 알기 위해서 다음과 같은 명령어를 사용합니다.
sudo swapon -s
명령어를 실행하면 스왑 파일이 나타나며 사이즈와 사용하고 있는 양을 나타내는 숫자가 등장합니다. 정상적으로 설정되었다면 파일이 나타납니다.
여기까지만 설정해도 스왑이 정상적으로 설정됩니다. 다만 재부팅이 필요할 경우 재부팅 이후에는 다시 스왑이 사라지게 됩니다. 따라서 파일 시스템에 이를 알려주는 설정이 필요합니다. 이는 vi 편집기를 통해서 변경할 수 있습니다.
파일 시스템 정보 변경
먼저 파일시스템 정보가 있는 파일부터 편집기로 열어줍니다.
sudo vi /etc/fstab
열었다면 가장 마지막 줄에 아래와 같이 추가해 줍니다.
/swapfile swap swap defaults 0 0
추가되었다면 재부팅 이후에도 정상적으로 스왑 파일이 마운트 되어 사용되게 됩니다.
확인을 위해서 free
명령어를 이용해 보면 현재 시스템의 메모리 양과 스왑 파일이 나타나게 됩니다.
free -h
티스토리에서 작성했습니다: https://anpigon.tistory.com/224
[광고] STEEM 개발자 커뮤니티에 참여 하시면, 다양한 혜택을 받을 수 있습니다.
[by @anpigon] 오라클 클라우드 메모리 늘리기
https://www.steemit.com/@kr-dev.cu4/2k6hvc
@kr-dev.cu4님이 당신을 멘션하였습니다.
멘션을 받고 싶거나 받지 않으시려면 댓글을 남겨주세요. 빠른 시일내에 반영하도록 하겠습니다.
Upvoted! Thank you for supporting witness @jswit.