2011-11-29 2 views
2

소스가없는 상용 Java 응용 프로그램의 CPU로드를 프로파일 링해야합니다.프로필 Java CPU로드

앱이 CPU 바운드임을 알 수 있지만 CPU가 FP 작업, 정수 작업 또는 다른 작업을 수행하는 중일 때 어떻게 이해할 수 있습니까?

일반적인로드를 찾을 수 있다면 다른 하드웨어 플랫폼에서로드를 시뮬레이트하기 위해 일부 오픈 소스 벤치 마크 도구를 사용하여 어떤 CPU가 최상의 가치를 제공하는지 이해하는 것이 궁극적 인 목표입니다.

+0

jprobe/jprofiler와 같은 도구를 사용하여 인트로 스 트록을 수행 할 수 있습니다.이 메소드는 호출중인 메소드/작업과 시간과 메모리를 먹는 것을 보여줍니다. 그들은 CPU 그 자체를 할 수는 없겠지만, 그 목적을 위해 sar/top/mpstat를 볼 수는 있습니다 (즉, CPU가 어디서 뛰어 올라서 스냅 샷을 찍을 지). – aishwarya

답변

4

JDK 1.6.x를 사용하는 경우 $ JAVA_HOME/bin에서 실행 파일 인 jvisualvm을 강력히 권장합니다.

소스가 없어도 기본적인 문제를 해결할 수있는 능력이 제한적이지만 CPU 병목 현상을 식별하는 데 도움이됩니다.

+1

JDK (JRE 아님) 또는 독립 실행 형 버전의 jvisualvm을 다운로드해야합니다. 실행중인 프로그램에 연결할 수 있습니다! Oracle JVM이 필요합니다. –

1

저는 dynaTrace produciton 에디션을 사용해 왔으며 많은 도움이되었습니다. 낮은 오버 헤드, CPU 및 메모리 병목 현상에 대한 높은 가시성.

나는 dynaTrace를 권장합니다.

관련 문제