Skip to content

Commit

Permalink
add: GCViewer와 GCEasy 사용해보기 (#19)
Browse files Browse the repository at this point in the history
  • Loading branch information
nmin11 authored Feb 7, 2024
1 parent aab3f5f commit 42ff70d
Showing 1 changed file with 125 additions and 0 deletions.
125 changes: 125 additions & 0 deletions ch08/남궁민.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
---
marp: true
paginate: true
backgroundColor: #fff
---

# GCViewer 와 GCEasy 맛보기

⎯ 남궁민

---

# 목차

1. GCViewer
- 실행 방법
- 차트 보는 방법
2. GCEasy
- 가격 정책
- 사용 방법
- 로그 분석 결과

---

## GCViewer

- 인디 소프트웨어 샵 tagtraum industries에서 출시한 오픈소스 GC 시각화 도구
- 2008년 1.29 버전까지 출시하고 개발 중단
- 이후 오픈소스 프로젝트에서 최신형 JVM과 호환되는 1.36 버전까지 출시 (2019)
- `-verbose:gc` `-Xloggc:<file>` 플래그를 사용하여 GC 로그를 생성하고, 파일을 열어서 시각화하는 방식
- 처리량, 누적 중단 시간, 최대 중단 시간 등 유용한 메트릭 제공
- GC 로그를 CSV 파일로 export 가능
- Oracle, IBM, HP, BEA의 JVM 지원

---

### 실행 방법

1. 실행 파일 다운로드 후 압축 풀고 더블 클릭
2. jar 파일 다운로드 후 `java -jar gcviewer-1.36.jar` 명령어 실행

---

### 차트 보는 방법

- Full GC
- 검은색 수직선으로 표시
- Incremental GC
- 청록색 수직선으로 표시
- GC Times
- 녹색 선으로 표시
- 모든 GC 소요 시간을 표시
- Total Heap
- 빨간색 선으로 표시

---

- Tenured Generation
- 마젠타색 선으로 표시
- tenured 영역의 크기를 표시
- `PrintGCDetails` 플래그를 사용해야만 함
- Young Generation
- 오렌지색 선으로 표시
- young 영역의 크기를 표시
- `PrintGCDetails` 플래그를 사용해야만 함
- Used Heap
- 파란색 선으로 표시
- 힙 사용량을 표시

---

- Initial mark level
- 노란색 선으로 표시
- initial mark 단계에서의 힙 사용량 표시
- 동시 수집을 사용하는 CMS, G1에서만 사용 가능
- Concurrent collections
- 동시 마킹 시작 단계를 청록색으로 표시
- 동시 수집 종료 단계를 분홍색으로 표시
- CMS의 concurrent reset 단계
- G1의 concurrent cleanup end 단계
- GC Times Rectangles
- Full GC에 대한 검은색 직사각형
- initial mark 단계에 대한 파란색 직사각형
- remark 단계에 대한 오렌지색 직사각형
- vm operation에 대한 빨간색 직사각형
- 'normal' GC에 대한 회색 직사각형

---

## GCEasy

- Tier1app에서 출시한 온라인 GC 로그 분석 도구
- 머신러닝 기술을 활용한다고 함
- 유료 상용 툴이지만 무료 정책이 있음

---

### 가격 정책

- PUBLIC
- 월 5회 업로드 가능
- 월 최대 10MB의 로그 파일
- PRO
- 30$ / 월
- 월 10회 업로드 가능
- 월 최대 100MB의 로그 파일
- PRO ++
- 50$ / 월
- 월 50회 업로드 가능
- 월 최대 300MB의 로그 파일
- ENTERPRISE
- 업로드 횟수 제한, 로그 파일 크기 제한 없음

---

### 사용 방법

1. 웹사이트에 GC 로그 업로드
2. REST API 호출

---

### 로그 분석 결과

- [미리 생성해둔 GCEasy Report](https://gceasy.io/my-gc-report.jsp?p=c2hhcmVkLzIwMjQvMDIvNC9nYy5sb2ctLTgtNTctNTc=&channel=WEB)

0 comments on commit 42ff70d

Please sign in to comment.