반응형
250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- Flux
- Jenkins
- Airflow
- SQL
- VPN
- docker
- 도커
- node
- Spring
- codepipeline
- JavaScript
- aws
- codebuild
- Kafka
- kubeflow
- Python
- chartjs
- redis
- codedeploy
- codedeploy error
- or some instances in your deployment group are experiencing problems.
- PostgreSQL
- java bigdecimal
- COALESCE
- chart.js
- IntelliJ
- Spring Error
- aws cicd
- bootstrap
- AWS CI/CD 구축하기
Archives
- Today
- Total
Small Asteroid Blog
[AWS] EC2 메모리 부족 현상 - AWS 프리티어 t2.micro에서 Swap 메모리 설정하기 본문
728x90
AWS 프리티어를 사용하는 분들이라면 공감할 이슈인데
t2.micro 인스턴스는 RAM이 1GB뿐이라, 여러 프로젝트를 동시에 실행하면 메모리 부족으로 서버가 죽는 일이 발생합니다.
RAM 메모리가 부족한 경우를 대비해 swap 메모리를 지정해줍니다.
Swap이란?
Swap은 RAM이 부족할 경우, 디스크(HDD/SSD)의 일부를 마치 RAM처럼 사용하는 공간입니다.
물리 메모리가 부족할 때 응급처치용으로 유용하지만, 디스크를 사용하는 만큼 속도는 RAM보다 느립니다.
하지만 서버가 죽는 것보단 낫다!
Swap 공간 크기 계산
- 최소 32MB 이상
- t2.micro 기준 RAM은 1GB → 2GB 정도 Swap이면 충분
Swap 생성하기
1. 스왑 파일 생성
2GB 스왑 파일 (128MB x 16)
(4GB를 원한다면 count=32로 조절)
sudo dd if=/dev/zero of=/swapfile bs=128M count=16
sudo dd if=/dev/zero of=/swapfile bs=128M count=32
2. 권한 변경
$ sudo chmod 600 /swapfile
3. 스왑 영역으로 설정
$ sudo mkswap /swapfile
4. 스왑 사용 시작
$ sudo swapon /swapfile
5. 스왑 상태 확인
$ sudo swapon -s
6. 부팅 시 자동으로 스왑 활성화
/etc/fstab 을 열어 설정을 추가
$ sudo vi /etc/fstab
파일 맨 아래에 다음 줄을 추가하고 저장
/swapfile swap swap defaults 0 0

7. Swap이 적용되었는지 확인
swap 공간이 표시된다면 적용 완료
free -h

⚠️ 유의사항
- Swap은 RAM을 대체할 수 없습니다.
- 성능이 다소 낮아지지만, 서버가 터지는 걸 막는 데 초점이 있습니다.
- 장기적으로는 메모리 업그레이드 또는 고사양 인스턴스 사용을 고려하세요.
Swap 삭제
sudo swapoff /swapfile
sudo rm /swapfile
이렇게 하면 t2.micro에서도 조금 더 안정적으로 서비스를 운영할 수 있습니다!
저처럼 서버가 자꾸 뻗는다면 시도해보면 좋을 것 같습니다:)
https://aws.amazon.com/ko/premiumsupport/knowledge-center/ec2-memory-swap-file/
728x90
반응형