많은 CPU를 사용하는 상당히 복잡한 Java 어플리케이션이 있으며 CPU 사용의 원인을 판별하는 데 사용할 수있는 프로파일 툴에 대한 권장 사항이 있는지 알고 싶습니다. 내 목표는 대부분의 CPU 시간을 사용하는 코드의 위치를 정확히 찾아내는 것입니다.리눅스에서의 Java 프로파일 작성
답변
저는 Linux에서 jProfiler와 YourKit을 사용했습니다. 그러나 최근 JDK와 함께 제공되는 jconsole
을 실행하면 원하는 정보를 찾을 수 있습니다. 그것을 사용하는 방법에 관한 좋은 정보 : http://java.sun.com/developer/technicalArticles/J2SE/jconsole.html
지금 Profiler4j를 실제로보고 있습니다. – beyonddc
This method은 기술이 없지만 works best입니다. 이유는 short explanation입니다. 당신이 IDE에서 실행되지 않기 때문에
, 당신은 스택 샘플을 얻기 위해 pstack을 또는 lsstack를 사용할 수 있습니다. 앱이해야 할 것보다 더 많은 시간을 사용해야한다면 대부분의 문제는 대부분의 스택 샘플에서 명확하게 볼 수있는 하나 또는 몇 개의 불법 함수 호출입니다.
Netbeans에는 기본 제공 프로파일 러가 있습니다. NB는 우분투에서 잘 실행됩니다. 9.10
문제점을 개발 환경에서 관찰 할 수없는 경우 프로파일 러를 원격 JVM (프로덕션 환경)에 연결할 수 있습니다. 프로파일 러에서 JMS/JConsole 연결을 허용하도록 호스트 JVM을 구성해야합니다. JMS/JConsole 실시간 모니터링 시각화 차트는 꽤 멋지게 보입니다.
Eclipse IDE에서 Visual VM을 사용했습니다. IDE가 아닌 경우 jhat와 jconsole이 도움이 될 것입니다. 자세한 내용은 Google jhat
Eclipse에 익숙하다면 TPTP을 권하고 싶습니다.
Sun Java 6를 사용하는 경우 문제가있는 프로그램을 실행하는 시스템의 JDK에서 jvisualvm을 사용하는 방법을 배우십시오.
대부분의 질문에 답하고 이미 실행중인 프로그램에 쉽게 첨부 할 수 있으며 무료입니다.
- 1. 리눅스에서의 어셈블리
- 2. 사용자 정의 함수 내의 프로파일 작성 문
- 3. java Google App Engine 앱 프로파일 링
- 4. Java Spring 애플리케이션 프로파일 링
- 5. 리눅스에서의 C# 문제
- 6. 리눅스에서의 C++ 플래시
- 7. 리눅스에서의 쓰레드에 관한 혼란
- 8. 리눅스에서의 GCC 설치 접두어
- 9. 리눅스에서의 Python 환경 변수
- 10. 리눅스에서의 시리얼 통신 (RS232)
- 11. 리눅스에서의 SQL * Plus 내역
- 12. 임베디드 리눅스에서의 vmstat
- 13. Java 프로파일 링, 성능 튜닝 및 메모리 프로파일 링
- 14. Java/.Net 프로파일 러와 유사한 SQL Server 프로파일 러가 있습니까?
- 15. Java 타이머 작성 방법
- 16. 리눅스에서의 커널 소스 코드 위치
- 17. 리눅스에서의 GUI 디자인 패턴의 타당성
- 18. 리눅스에서의 소프트웨어 시리얼 포트 루프백
- 19. 리눅스에서의 Emacs/xterm color annoyance
- 20. 리눅스에서의 루비에서 네이티브 시스템 호출
- 21. 리눅스에서의 swt GUI 성능 문제
- 22. RT 리눅스에서의 빠른 주기적 작업
- 23. Java Web Start 애플리케이션 프로파일 링
- 24. Java 프로파일 러에서 최대 메모리 사용량을 추적하십시오.
- 25. Java EE1.5 또는 SE1.6 프로파일 링
- 26. Java VisualVM에서 기본 프로파일 CPU를 true로 설정
- 27. Java : 올바른 디렉토리 작성 방법
- 28. Python에서 Java DataInputStream 데이터 작성
- 29. java testng 테스트 케이스 작성
- 30. Java 클래스 스텁 일괄 작성
모든 Java 프로파일 러는 Linux에서 실행됩니다. – Dolph
IDE를 사용하고 있습니까? 가장 좋은 IDE는 프로파일 러가 내장되어 있거나 모듈로 제공됩니다. –
아니요, 저는 IDE를 실행하지 않습니다. 내 응용 프로그램이 실제로 다른 응용 프로그램에서 시작됩니다. – beyonddc