2013-01-31 4 views
48

저는 VisualVM 컨텍스트에서 '자체 시간'이 실제로 무엇을 의미하는지 그리고 '자체 시간 (cpu)'과 어떻게 다른지 일관되고 명확한 설명을 찾아 왔습니다. 또한 '자체 시간 [%]'은 자체 시간 또는 자체 시간 cpu를 나타냅니다.VisualVM 및 자체 시간

이 문서에 많은 문서가 없거나 적어도 찾지 못했습니다. 그래서 어떤 생각/입력을 주시면 감사하겠습니다.

답변

68

'자체 시간'은 메서드 자체에서 (해당 메서드에서 호출 된 메서드에서 시간이없는) '벽시계'시간입니다. 'self time (cpu)'는 시간 프로세서 시간이기 때문에 기다리는 시간, 잠자는 시간 등을 포함하지 않습니다. 샘플러의 'self-time'과 'self (cpu) time'은 모두 실제 데이터의 근사치입니다. 'self time [%]'는 'self time'을 의미합니다.

+0

많은 도움을 주셔서 감사합니다. – AndyF

+12

이전 질문에도 불구하고 누군가에게 도움이되는 경우에 대비하여 '자체 시간 [%]'은 사용자가 정렬 한 자체 시간 열을 참조하는 것으로 보입니다. 따라서 '자체 시간 (CPU)'단위로 정렬하면 %는 CPU 시간의 %가됩니다 – Matt

+4

프로 파일링을 위해 계측되지 않은 하위 메서드에서 "자체 시간"을 사용한다고 말할 수 있습니까? 따라서 메서드 X가 메서드 Y와 Z를 호출하고 메서드 Z가 계측되지 않으면 메서드 Z에서 소비 된 시간은 메서드 X의 "자체 시간"이됩니까? – Marquez