2009-07-07 7 views
1

VisualVM을 사용하여 Java (Sun JDK 1.6) 독립 실행 형 응용 프로그램을 프로파일 링하려고합니다. 필자는 응용 프로그램을 실행하고 신경 쓰이는 일부 측정 항목을보고 할 수있는 스크립팅 된 성능 테스트 환경이 있습니다.VisualVM 용 JVM calltree 스냅 샷

JVM에서 나중에 VisualVM으로 분석 할 수있는 일부 CPU 프로파일 링 스냅 샷을 수집하는 방법이 있습니까?

이 던져지기 직전에 힙 덤프를 디스크에 쓰는 -XX:+HeapDumpOnOutOfMemoryError 플래그와 비슷한 것을 찾고 있습니다.

답변

1

JVM에 내장 된 hprof 도구 (http://java.sun.com/developer/technicalArticles/Programming/HPROF.html)를 사용하면 기본적인 프로파일 링 정보를 캡처 할 수 있으며 개가 느려지고 방대한 파일이 생성됩니다.

VisualVM AFAIK에는 아직 이러한 능력이 없지만 yourkit은 에이전트를 통해 프로그래밍 방식으로 원하는대로 할 수 있습니다. 에이전트 라인을 통해

Yourkit (-agentlib : yjpagent =의 OnExit = 스냅 샷) 프로그래밍 http://www.yourkit.com/docs/80/help/additional_agent_options.jsp

AS를 http://www.yourkit.com/docs/80/api/index.html

제외하고 당신이 그것을 같은 성능 테스트와 함께 CPU를 측정 조심 제안했다 당신의 핵심 코드 주변에 https://japex.dev.java.net/과 같은 것을 보았습니까?

+0

예, VisualVM에는이 기능이 없으며 YourKit을 사용하여 종료되었습니다. 성능 테스트를 두 번 실행합니다. 하나는 프로파일 링을 사용하여 스냅 샷을 수집하고 하나는 프로파일 링을 비활성화하여 성능 메트릭을 수집하는 것입니다. –