티스토리 뷰
정상인 상황
- SSH로 서버에 직접 접속해서 Spring Boot 3.3.2 버전을 jar로 빌드하는 것은 정상
- SSH로 서버에 직접 접속해서 배포 쉘 스크립트 실행하는 것도 정상
(스프링 기동 죽이기 → 프로젝트 빌드 → 스프링 백그라운드로 기동)
문제 상황
- GitHub Action을 이용해서 파이프 라인을 구성하고 배포를 진행하는데 빌드가 안되어서 무한 로딩, 서버에 접근도 못하는 현상 발생
- GitHub Action을 이용해서 배포 쉘 스크립트를 실행 시켰지만 빌드가 무한 로딩이 되며, 서버에 접근도 못하는 현상 발생
문제 해결 방법 스왑 메모리!
1. 스왑 파일 만들기
# 1
sudo dd if=/dev/zero of=/swapfile bs=1M count=2048
# 2
sudo dd if=/dev/zero of=/swapfile bs=128M count=16
# 즉, 둘다 2GB 크기의 스왑파일을 /swapfile 경로에 생성한다는 명령어이다.
- dd : 데이터를 특정 크기와 개수로 복사하는 명령어.
- if : 입력 파일(어디서 읽을지)을 지정.
- of : 출력 파일(어디에 쓸지)을 지정.
- bs : 한 번에 처리할 데이터 덩어리 크기를 지정
- count : 몇 개의 블록을 처리할지 지정
bs와 count가 다른데 뭐가 더 좋아요?
- bs=1M count=2024
- 1MB 단위로 2048번 작업.
- 블록 크가 작아서 처리 횟수가 많아짐 → 즉, 느려질 수 있다.
- 세밀한 작업이 필요할 때 적합.
- bs=128M count=16
- 128MB 단위로 16번 작업
- 블록 크기가 커서 처리 횟수가 적음 → 즉, 상대적으로 빠르다.
- 빠르게 파일 생성이 필요할 때 적합.
- 평균적
2. 스왑파일 권한 설정
# 파일 권한 설정
sudo chmod 600 /swapfile
- 첫 번째 숫자(6) : 파일 소유자(owner)의 권한
- 6 = 읽기(4) + 쓰기(2) = 읽기/쓰기 권한
- 두 번째 숫자(0) : 그룹(group)의 권한
- 0 = 아무 권한 없음
- 세 번째 숫자(0) : 기타 사용자(other users)의 권한
- 0 = 아무 권한 없음
3. 스왑 파일을 스왑 공간으로 설정
# 스왑 파일을 스왑 영역으로 초기화
sudo mkswap /swapfile
4. 스왑 파일 활성화
# 스왑 파일 활성화
sudo swapon /swapfile
만약에 인스턴스 재기동 한 뒤에도 스왑 자동 활성화를 하고 싶다면?
- sudo nano /etc/fstab 파일을 열고
- /swapfile none swap sw 0 0 항목 추가
5. 스왑 설정 확인
free -h
# 상태 확인 예시
# total used free shared buff/cache available
# Mem: 2.0G 1.6G 0.4G 0.1G 0.2G 0.4G
# Swap: 2.0G 0.0G 2.0G
이렇게 하면 설정 끝
스왑 메모리가 꽉 차서 다시 사용하고 싶다면?
1. 스왑 해제
sudo swapoff /swapfile
2. 스왑 파일 삭제
sudo rm /swapfile
이후 생성하는 1번부터 다시 진행하면 됩니다.
감사합니다.
'백엔드 > 🔫aws' 카테고리의 다른 글
[AWS] 프리티어 RDS PostgreSQL DB생성과 연결하기 : 초보자도 쉽게 따라하기 (0) | 2024.11.13 |
---|---|
[AWS] 프리티어 EC2 인스턴스 생성하기 : 초보자도 이걸로 끝내기 (0) | 2024.11.04 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 개발자
- 데이터 베이스
- java
- 코딩테스트
- 개발블로그
- Mac
- 디자인패턴
- Front
- Fetch
- spring
- aws
- 프론트
- AJAX
- 네트워크
- 오라클
- DBeaver
- JavaScript
- 템플릿
- git
- 비동기
- 개발환경
- Spring Security
- 자바스크립트
- Cors
- 개발
- 프로세스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
글 보관함