힙 메모리 메트릭스 알림 설정
다음 자바 공식 문서 링크를 참조하세요.
애플리케이션 프로젝트의 힙 메모리 관련 메트릭스와 메트릭스 알림 설정에 대해 안내합니다.
힙 메모리 메트릭스
힙 메모리(Heap Memory)는 자바 가상 머신(JVM)이 프로그램을 실행하기 위해 할당한 데이터 저장 공간으로 인스턴스와 배열 등 주요 데이터를 저장합니다. 힙 영역은 인스턴스의 라이프 사이클 및 GC와 밀접한 관계를 가지고 있습니다. GC는 불필요한 인스턴스를 힙 영역에서 해제해 힙 영역의 빈 공간을 확보하는 작업입니다.
힙 메모리 관련 지표를 통해 서버별 최대 힙 메모리, 현재 힙 메모리를 확인해 위험 수준을 살펴볼 수 있습니다. 또한 최댓값과 현재 값의 편차를 파악해 적절하게 힙 메모리를 설정할 수 있습니다. 힙 메모리 사용량의 최솟값이 지속적으로 상승하는 경우 메모리 누수 현상을 의심해 볼 수 있습니다.
메트릭스 조회
홈 화면 > 프로젝트 선택 > 사이트맵 > 분석 > 메트릭스 조회
메트릭스 조회 메뉴에서 확인할 수 있는 힙 메모리 관련 지표를 안내합니다.
Heap Memory
app_proc_counter
카테고리 선택 후 확인할 수 있습니다.
-
Heap 커밋
heap_committed
JVM이 사용하도록 커밋된 힙 메모리를 의미합니다.
-
최초 Heap
heap_init
JVM이 메모리 관리를 위해 OS에 요청한 최초 힙 메모리를 의미합니다.
-
Heap 최대 크기
heap_max
JVM이 메모리 관리에 사용할 수 있는 최대 힙 메모리를 의미합니다.
-
Heap 사용량
heap_used
JVM에서 사용 중인 힙 메모리를 의미합니다.
-
Heap 총 사용량
heap_tot
JVM이 할당받은 힙 메모리의 총량을 의미합니다.
Non-heap Memory
java_memory
카테고리 선택 후 확인할 수 있습니다.
-
Heap 커밋
nonheap_committed
JVM이 메모리 관리를 위해 OS에 요청한 최초 비 힙 메모리를 의미합니다.
-
최초 Non-heap
nonheap_init
JVM이 메모리 관리를 위해 OS에 요청한 최초 비 힙 메모리를 의미합니다.
-
Non-heap 총 사용량
nonheap_max
JVM에서 메모리 관리에 사용할 수 있는 최대 비 힙 메모리 사용량을 의미합니다.
노트Metaspace 및 JIT 코드 캐시 최대 메모리 크기가 정의되지 않은 경우
-1
을 반환합니다. -
Non-heap 사용량
nonheap_used
JVM에서 사용된 비 힙 메모리를 의미합니다.
메트릭스 차트
홈 화면 > 프로젝트 선택 > 분석 > 메트릭스 차트
메트릭스 차트 메뉴에서 확인할 수 있는 힙 메모리 관련 지표를 안내합니다.
-
Heap 최대 크기
heap_max
JVM이 메모리 관리에 사용할 수 있는 최대 힙 메모리를 의미합니다.
-
Heap 총 사용량
heap_tot
JVM이 할당받은 힙 메모리의 총량을 의미합니다.
-
Heap 사용량
heap_use
JVM에서 사용 중인 힙 메모리를 의미합니다.
-
Heap Perm 영역 사용량
heap_perm
Perm 영역의 메모리 사용량을 의미합니다.
-
Heap Pending Finalization 개수
heap_pending_finalization
대기 중인 Finalization을 가지고 있는 Object의 대략적인 개수를 의미합니다.
애플리케이션 지표에 대한 내용은 다음 문서를 참조하세요.
힙 메모리 메트릭스 알림 설정
홈 화면 > 프로젝트 선택 > 경고 알림 > 메트릭스 탭 선택
힙 메모리 관련 경고 알림을 사용하기 위해 서는 메트릭스 경고 알림을 설정해야 합니다. 메트릭스 경고 알림은 기본 알림보다 구체적이고 복잡한 알림 설정이 가능합니다. 자세한 내용은 다음 문서를 참조하세요. 다음의 예시는 힙 메모리 사용량(heap_used
)을 기준으로 메트릭스 알림을 설정하는 방법을 안내합니다.
-
경고 알림 하위의 이벤트 설정 메뉴에서 메트릭스 탭을 선택하세요.
-
화면 상단 오른쪽에서 + 이벤트 추가 버튼을 선택하세요.
-
메트릭스 이벤트 창의 영역에서 이벤트명, 카테고리, 레벨, 메시지, 이벤트 발생 조건 등을 설정하세요.
-
이벤트명을 입력하세요.
Heap Memory
-
레벨은 이벤트 발생 시 경고 수준을 의미합니다. 레벨을 설정하세요. 기본 설정은 Critical 수준입니다.
-
카테고리 입력창에서 JavaMemory(
java_memory
)를 선택하세요. -
이벤트 메시지를 입력하세요. 예시 메시지의 경우 힙 메모리 사용량이 설정한 임계값 초과 시 해당 이벤트 발생 시간과 함께 발송됩니다.
${heap_used}
가${time}
에${metricThreshold}
를 초과했습니다. -
필드, 연산자, 임계값을 입력해 이벤트 발생 조건을 설정하세요. 힙 사용량이 50,000,000 byte 초과 시 알림을 발생시키는 조건 예시는 다음과 같습니다.
필드
heap_used
, 연산자>
, 임계값50000000
-
-
영역에서 이벤트 수신 관련 세부 요건을 설정하고 해당 이벤트 알림 규칙을 테스트해 보세요.
-
이벤트 수신 설정
-
발생 횟수는 최근
n
의 기간 동안 해당 이벤트가n'
회 발생 시 알림을 수신하도록 합니다.최근
1분
동안 해당 이벤트3
회 발생 시 알림이 발송됩니다. -
이벤트 발생 일시 중지는 해당 알림 발생 후 설정한 시간 동안 동일한 알림이 발생하지 않도록 합니다.
-
-
알림 규칙 테스트 옵션은 선택한 기간 동안 해당 이벤트 알림 설정 시 몇 번의 경고 알림이 발생했는지 확인할 수 있습니다.
지난
60분
동안1분
내 연달아3
회 이상 힙 메모리 사용량(heap_used
)이50,000,000
byte를 초과하는 이벤트 발생 시 발송한 알림 건수는 총 66건 입니다.
-
-
메트릭스 이벤트 창 하단의 저장 버튼을 선택해 알림 설정을 완료하세요.
힙 메모리 사용량 확인
홈 화면 > 프로젝트 선택 > 분석 > 메트릭스 차트
선택한 기간 동안의 힙 메모리 사용량(heap_used
)을 상세하게 확인하고 싶다면 메트릭스 차트로 이동하세요.
-
상단의 시간 선택자를 통해 조회를 원하는 기간을 선택하세요.
-
왼쪽 지표 목록에서 카테고리는 JavaMemory(
java_memory
)를 선택하세요. -
JavaMemory 카테고리 하위에서
heap_used
를 선택하세요. 차트 영역에서 예시처럼 힙 메모리 사용량 차트를 조회할 수 있습니다. -
heap_used
위젯 상단 오른쪽의 더보기 아이콘을 클릭 후 옵션 메뉴에서 상세 아이콘 선택 시 모니터링 대상의 지표 추이를 개별로 확인할 수 있습니다. -
태그 필터 선택 시 다음과 같이 에이전트, 에이전트 그룹, 에이전트 호스트 등을 선택해 개별 차트를 조회할 수 있습니다.