2012-02-17 4 views
4

나는 많은 jboss 서버에 클래스가 많은 프로필. 내가 CPU 프로파일을 작성하면 결과는 항상 java.util.TimerThread.run() = 62 % 및 java.util.concurrent.ThreadPoolExecutor $ Worker.run() = 34,8 %와 같습니다. 이 두 가지 방법으로 천 가지의 다른 방법은 0 %입니다. 나쁜 버그라고 생각합니다. 대부분의 메서드가이 스레드에서 실행되기 때문입니다. 하지만 어떻게 내가 볼 수 있습니다 ... ThreadDump -이 기능도 유용하지 않습니다.VisualVM 프로필 CPU가 있지만 실행() - 방법을 방해

답변

4

코드의 어느 부분이 느린 지 알 수없는 경우 CPU 샘플링부터 시작하는 것이 좋습니다. 샘플링 결과에 기반하여 무엇이 잘못되었는지 더 잘 알게되면 jboss 서버의 일부만 프로파일 링 할 수 있습니다. 프로파일 링 및 프로파일 링 루 트 및 계측 필터를 설정하는 방법에 대한 자세한 정보는 Profiling With VisualVM, Part 1Profiling With VisualVM, Part 2을 참조하십시오.