GCViewer 사용 설명

3935 단어 Java
오랜만에 JVM의 GC 로그를 확인하기 위해 GCViewer를 사용해서 메모를 남겼습니다.

환경

  • OS: Windows 8.1
  • Java: java version "1.8.0_231"
  • Gcviewer: gcviewer-1.36-SNAPSHOT.jar
  • 다운로드


    다음 페이지에서 최신 버전의 "macversion 다운로드"링크를 클릭하여 다운로드하십시오.
    https://github.com/chewiebug/GCViewer/wiki/Changelog
    Windows의 경우jar 파일이 다운로드되어 임의의 폴더에 설정됩니다.

    부팅

  • gcviewer의jar를 더블 클릭

    → 다음 화면 표시

  • 창에서drag 및drop GC 로그 텍스트 파일
    → 화면은 다음과 같습니다.

  • 디스플레이 변경

  • 메뉴 선택 취소 >View>Data Panel
    → 오른쪽의 데이터 패널이 사라지고 넓어짐

  • 타임라인 주위를 마우스 오른쪽 버튼으로 클릭 > Log start time 선택
    → 시간 열 표시 시간(GC 로그에 시간 스탬프가 있는 경우)

  • Total Heap 선택
    → 총 치수는 빨간색으로 표시
    여기서 -Xms(시작 사이즈)와 -Xmx(최대 사이즈)를 같은 값으로 설정하기 때문에 총 무더기 사이즈는 가로 일직선이다.

  • Total Heap이 닫히고 Tenured Generation, Young Generation이 선택되었습니다.
    → Young세대의 사이즈는 노란색으로, Tenured세대(Old세대)의 사이즈는 보라색으로 표시한다.
    일반적으로 Young Generation+Tenured Generation=Total Heap

  • Used Tenured Heap, Used young Heap 선택
    → 세대별 더미 사용량은 선을 통해 볼 수 있다.세로선은 GC가 메모리를 방출했음을 나타낸다.

  • GC 로그의 시작/끝은 위의 선택 상자에서 비율을 조정(★중요)하여 전체 창에 포함합니다.
    만약 이렇게 하지 않는다면 일부분의 범위만 확인하면 문제가 없다고 생각할 수도 있다.이번에는 이 시기에 비율을 조정했지만 최대한 빨리 해서 전체를 볼 수 있는 상태에서 조사를 시작하는 것이 좋다.
    도표에서 볼 수 있다
  • Young GC는 상당히 빈번하게 발생한다.Yong GC를 통해 Young 세대는 기본적으로 해방되었다
  • Tenured 세대의 Full GC가 두 번 발생했다.둘 다 밑으로 떨어질 뻔했기 때문에 해방될 수 있었다.이후 Tenured 영역의 메모리가 늘어나 눈길을 끈다.나중에 전 GC가 다시 일어날 수도 있지만 그때 아래로 방출되면 문제없다(자신이 없다)

  • Used Heap 열기
    → 지금까지 각각 Young 세대와 Tenured 세대를 보여줌으로써 Young 세대와 Tenured 세대의 합계(=사용량)를 보면 파란색이 보인다

  • Full GC Lines 선택
    → Full GC는 검은 선처럼 보인다

  • 관점을 검사하다

  • Young 세대의 퇴적 사용량이 Young GC 이후 아래로 떨어졌는지 여부
  • Tenured 세대의 퇴적 사용량이 Full GC 이후 아래로 떨어졌는지 여부
  • 나 자신은 사실 GC일지의 평가 방법을 잘 모른다.
    이 도표는 Tenured 세대가 증가하고 있지만, 다음 Full GC로 아래에서 해방되면 되나요?

    좋은 웹페이지 즐겨찾기