미스터 역마살
JVM GC 모니터링 본문
JVM에 Garbage Collector 의 모니터링에 대해 알아보자
jstat
jstat은 HotSpot JVM에 있는 모니터링 도구이다. jstat 이외에 HotSpot JVM 모니터링 도구로는 jps와 jstatd가 있다. Java 애플리케이션을 모니터링할 때에는 이 세 개의 도구를 모두 사용해야 할 경우도 있다.
jstat은 GC 수행 정보를 보는 기능만 제공하지는 않는다. 클래스로더 수행 정보나 Just-in-Time 컴파일러 수행 정보 등도 jstat으로 알 수 있다. 여러 정보를 얻을 수 있지만 이 글에서는 GC 수행 정보 모니터링에 대해서만 알아보겠다.
jstat은 $JDK_HOME/bin 디렉터리에 있다. 커맨드 라인에서 디렉터리를 지정하지 않고 바로 java 명령어나 javac 명령어를 실행할 수 있다면 jstat도 바로 실행할 수 있다.
1. 모니터링하고자 하는 프로세스의 ID를 확인
명령어 : ps -ef | grep java
2. jstat 명령어 수행
명령어 : jstat -gcutil -h20 -t 7251 2000 3000
-> gcutil : gcutil에 대해서 수행
-> h20 : 20라인마다 header 찍음
-> -t : time stamp 찍음 (JVM이 스타트 된 이후의 시간)
-> 7251 : 프로세스 ID
-> 2000 : interval (ms단위) 2초
-> 3000 : count
3. 각각의 항목 설명
-
S0 : Survivor 영역 0의 사용률(현재의 용량에 대한 퍼센티지)
-
S1 : Survivor 영역 1의 사용률(현재의 용량에 대한 퍼센티지)
-
E : Eden 영역의 사용률(현재의 용량에 대한 퍼센티지)
-
O : Old 영역의 사용률(현재의 용량에 대한 퍼센티지)
-
P : Parameter 영역의 사용률(현재의 용량에 대한 퍼센티지)
-
YGC : Young 세대의 GC 이벤트 수
-
YGCT : YOUNG 세대의 가베지 콜렉션 시간
-
FGC : 풀 GC 이벤트 수
-
GCT : 가베지 콜렉션 총 시간
아래는 내가 참고했던 사이트 들이다.
- GC는 어떻게 동작하나?
https://mirinae312.github.io/develop/2018/06/04/jvm_gc.html
- JSTAT 으로 JVM Heap Memory 모니터링 하기
http://blog.naver.com/PostView.nhn?blogId=solvage&logNo=10038025715
'IT > 기타' 카테고리의 다른 글
이 하드 디스크 공간에 Windows를 설치할 수 없습니다. 에러시 해결방법 (0) | 2020.12.03 |
---|---|
VMSTAT 로 메모리 사용률 확인 (0) | 2020.01.12 |
SAR 를 활용한 성능 모니터링 (0) | 2020.01.12 |
코드시그널 (0) | 2020.01.10 |
엑셀 매크로 (0) | 2016.03.16 |