반응형
개요
무료계정으로 제공되는 EC2 프리티어에 도커라이징처리가 된 두 개의 어플리케이션을 띄우고 있다.
그런데 실행절차마다 행이걸림.
행 현상
하드웨어결함, 스레드문제, 메모리부족, 리소스경합, 데드락
EC2 대시보드 결과 1/2개 검사통과, 즉 상태이상 확인
상세페이지 확인결과, 인스턴스 상태 검사 - 연결성 검사 실패
인스턴스 상태확인
- 운영체제 부팅 실패
- 올바른 볼륨 탑재 실패
- CPU 및 메모리 소진
- 커널 패닉
- 네트워크 이상
행 진입시 상태를 고려해보면,
네트워크이상, 운영체제부팅실패, 올바른볼륨탑재실패 는 제외해도 될 것 같다.
그렇다면
CPU 및 메모리 소진, 커널 패닉 중 하나일 것
커널패닉
커널패닉?
작동중에 커널이 치명적인 내부오류를 감지하면 커널패닉 오류가 발생
운영체제 부팅 중 오류가 발생하면 커널을 제대로 읽어들이지 못할 수 있다.
이로인해 운영체제 부팅오류가 발생할 수 있다.
하단의 오류로그를 확인 가능
Linux version
2.6.16-xenU (builder@xenbat.amazonsa) (gcc version 4.0.1 20050727 (Red Hat4.0.1-5)) #1 SMP Mon May 28 03:41:49 SAST 2007
Kernel command
line: root=/dev/sda1 ro 4
Registering block device major 8
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(8,1)
별도의 오류로그가 확인되지 않았고,
부팅오류가 발생하지도 않았다.
그러므로 커널패닉이 원인은 아닐 것
CPU 및 메모리 소진
CPU
- CPUUtilization 지표가 100%거나 100%에 가까운 경우
- CPU크레딧이 0이거나 0에 가까운 경우
- CPU크레딧이 0인경우 CPUUtilization지표에서 포화도 상태가 기준성능으로 표시됨. (인스턴스 유형에 따라 20%,40%, ..)
- 블록 디바이스 오류, 소프트웨어 버그, 커널 패닉 으로 인해 CPU사용량 스파이크 발생 가능성도 존재
=> 재부팅 필요
메모리
- 메모리 부족
- 메모리 및 디스크지표는 지표확인이 불가능 ( 모니터링 하기위해 CloudWatch에 추가지표 전송가능)
[115879.769795] Out of memory: kill process 20273 (httpd) score 1285879 or a child
[115879.769795] Killed process 1917 (php-cgi) vsz:467184kB, anon-rss:101196kB, file-rss:204kB
=> 더 큰 인스턴스 유형으로 업그레이드
=> 또는 스왑스토리지를 추가하여 메모리부담 완화
CPU크레딧
T2인스턴스는 기본적으로 사양이 크레딧사양이 Standard
=> 정해진 수량만큼 CPU버스트가 진행된다.
T3인스턴스는 크레딧사양이 Unlimited
=> 크레딧 수 사양 관계없이 버스트가 가능
=> 요금 청구
반응형
중간결론
결국에 프리티어의 기본제공 인스턴스 유형인 T2의 경우에는
CPU버스트가 가능한 횟수(=크레딧)이 정해져있고
이를 초과사용할 시 행이 걸리는 것 같다.
그럼 T3로 변경하거나 크레딧유형이 Unlimited로 바뀌어야겠다.
반응형
'재학습 > 오류' 카테고리의 다른 글
[NPM] npm ERR! code EACCES errno -13 (0) | 2023.06.26 |
---|---|
[Npm] sill idealTree buildDeps (0) | 2023.01.16 |
[Docker] nodejs 도커파일 빌드 시 에러 (0) | 2022.12.26 |
[IntelliJ] 인텔리제이 폴더에 Java class 파일 생성버튼이 없어요! (0) | 2022.06.09 |
React Router 왜 계속 Path="/"에 해당되는 컴포넌트만 렌더링될까? (0) | 2022.02.12 |