2012-02-17 4 views
5

Netbeans의 메모리 모니터링 도구 (실제로 VisualVm과 동일한 도구 인 은 포함 된 VisualVm )는 메모리 누수를 추적하기위한 intermeting metric : Surviving Generations Metric이 있습니다.생존 세대 파악 메트릭

definition of this metric가 oracle.com에서 볼 수

  • 세대가 동일한 GC 간격 이내 인스턴스들의 세트 (두 가비지 콜렉션 사이)이다
  • 존속 세대 생존 한 세대이다 하나 이상의 가비지 수집 살아 가비지 수집의 수 - 생성의 나이는 - 세대 (측정) 값을 생존
  • 가 (다른 세대의 연령과 세대의 수)
가 힙에 현재 살아있는 다른 생존 세대의 수입니다 고유 식별자

두 번째 정의에 대해 질문이 있습니다. 가비지 수집에서 살아남 으려면 인스턴스가 무엇을 의미하는지 알고 있습니다. 그러나 세대 가비지 수집에서 살아남는 것이 무엇을 의미하는지 확신 할 수 없습니다. 세대 중 적어도 하나의 인스턴스가 가비지 수집에서 살아남 았습니까?

+0

작은 수정 : Netbeans의 메모리 모니터링 도구는 포함 된 VisualVM이 아닙니다. VisualVM에는 NetBeans Profiler의 제거 된 버전이 포함되어 있습니다. VisualVM의 CPU 및 메모리 프로파일 링은 NetBeans Profiler 코드를 기반으로합니다. –

+0

정보를 제공해 주셔서 감사합니다. 내 질문을 업데이트했습니다. – barjak

답변

4

예. 기본적으로 이는 가비지 콜렉션 X와 X + 1 사이에 생성 된 인스턴스 중 더 많은 가비지 콜렉션이 발생했을 때 현재 살아있는 것을 의미합니다.

내 의견으로는 세 가지 정의 모두 클래스별로 의미가 있습니다. 내 말은, 주어진 클래스의 "생존하는 생성 (메트릭) 값"은 현재 힙에서 살아있는이 클래스의 다른 세대 수입니다.

+0

네, NetBeans/VisualVM이 클래스 당이 메트릭을 제공 할 수 있음을 지적 해 주셔서 감사합니다. 그리고 실제로 메모리 누수를 추적하는 데 매우 유용한 정보입니다! – barjak