2012-02-23 4 views
0

JVM을 쿼리하고 실행중인 Java 클래스 및 메소드의 CPU 사용률 (%)을 찾는 에이전트/java 프로그램이 필요합니다.Java 클래스의 cpu 사용률 (%)을 찾는 방법

+0

이러한 프로그램을 프로파일 러라고합니다. http://stackoverflow.com/questions/14762/please-recommend-a-java-profiler – Matthias

+0

Google [VisualVM] (http://visualvm.java.net/)을 참조하십시오. – Marcelo

+0

[JProfiler] (http://www.ej-technologies.com/products/jprofiler/overview.html) 및 [TPTP 프로파일 러] (http://www.deepakgaikwad.net/index.php/2009/02/)를 ​​사용하십시오. 10/tutorialprofiling-with-tptp-and-tomcat.html) – developer

답변

2

클래스와 메소드가 CPU를 사용하지 않는다는 점은 주목할 가치가 있습니다. (로드되거나 컴파일 될 때를 제외하고) 일반적으로 그렇게하는 데는 그리 흥미롭지 않습니다.

스레드는 CPU를 사용하며 다른 방법으로 다른 시간을 소비합니다. (다시 한 번 수업에서 얼마나 많은 시간을 보내고 있는지는 유용하지 않을 것입니다.)

이렇게하려면 진단하려는 성능 문제가 있다고 가정하고 CPU 프로파일 러를 사용할 수 있습니다. 성능 문제가 없다면 유용하지 않을 수 있습니다. 때로는 프로파일 러가 프로그램이 잘못된 이유로 올바로 작동하는 것처럼 보일 수도 있지만 드문 경우입니다.

유용한 또 다른 도구는 메모리 프로파일 러를 사용하는 것이며 문제의 진정한 원인 일 수 있습니다.

자주 성능 문제는 디스크, 네트워크 또는 기타 IO 장치의 속도 때문입니다. 이 경우 프로파일 러는 프로파일 러를 사용하기 전에 문제를 파악하고 그 원인을 파악하는 것이 유용하다는 것을 보여줄 것입니다.

+0

내 프로파일 러를 만들고 싶습니다 ... 메소드 안에있는 각 메소드 나 스레드의 CPU 사용률을 찾는 Java 코드가 필요합니다. . – user1177567