오픈 소스 자바 프로파일 러 [닫기]


94

Java와 함께 사용하도록 권장 할 수있는 것은 무엇입니까?

유일한 요구 사항은 오픈 소스 여야하거나 너무 비싼 학술 라이선스가 없어야한다는 것입니다.


4
오픈 소스라고하면 무료를 의미합니까? 그들은 다른 의미를 가지고 있습니다. _inexpensive 프로파일 러에 대한 질문이 있습니까?
Robert Munteanu

3
자유에서와 같이 무료입니까 아니면 무료에서와 같이 무료입니까? 오 혼란!
Tarski

답변:


61

jdk6과 함께 제공되는 VisualVM에는 내부에 기본 프로파일 러가 있습니다. VisualVM은 jdk와 함께 제공되므로 jdk6이 설치되어 있으면 설치했을 가능성이 높습니다.

https://visualvm.github.io/


3
VisualVM 프로파일 러는 NetBeans의 독립 실행 형 버전입니다. 아주 좋은 출발입니다.
Thorbjørn Ravn Andersen

2
가장 업데이트 된 버전은 visualvm.dev.java.net 에서 확실히 다운로드하십시오 . 또한 이것은 NetBeans가 사용하는 프로파일 러입니다.
Peterdk 2010

VisualVM이전에 성공적으로 사용해 보았지만 Tomcat 앱을 프로파일 링하는 동안 충돌이 발생했습니다. 이것은 나를 위해 일한 : github.com/jvm-profiling-tools/honest-profiler
Lambart

21

여기 에 목록이 있습니다 (아래에 나열하면 링크가 깨지는 경우).

  • JMemProf
  • JMP
  • DrMem
  • JTreeProfiler
  • NetBeans 프로파일 러
  • JAMon API
  • JBoss 프로파일 러
  • MessAdmin
  • 적외선
  • TomcatProbe
  • JIP (Java Interactive Profiler)
  • Profiler4j
  • 스톱워치
  • JMeasurement
  • DJProf
  • TIJmp
  • Allmon
  • Appspy
  • 유레카 J
  • Japex
  • OKTECH 프로파일 러
  • Perf4j

1
당신은 목록에이를 추가 할 수 있습니다 github.com/jvm-profiling-tools/honest-profiler
Lambart


10

Java에는 HProf 라는 기본 내장 프로파일 러가 있습니다 . 더 많은 기능을 갖춘 프로파일 러의 결과와 제공하는 결과를 비교하는 것이 유용하다는 것을 알았습니다.


1
HPROF를 수년 동안 사용해 왔으며 예쁘지는 않지만 수많은 메모리 및 성능 문제를 해결하는 데 도움이되었습니다.
Gandalf

1
HPROF는 종종 최적화 할 다른 지점을 찾습니다. YourKit이 더 이상 최적화해야 할 분명한 포인트를 제공하지 않은 후에 자주 사용합니다.
Peter Lawrey

2
jdk 9 이후 제거되었습니다. openjdk.java.net/jeps/240
user2418306

5

오픈 소스 도구 jvmtop 에는 기본 콘솔 프로파일 러가 포함되어 있습니다. 출력 예 :

 JvmTop 0.7.0 alpha - 15:16:34,  amd64,  8 cpus, Linux 2.6.32-27, load avg 0.41
 http://code.google.com/p/jvmtop

 Profiling PID 24015: org.apache.catalina.startup.Bootstrap

  36.16% (    57.57s) hudson.model.AbstractBuild.calcChangeSet()
  30.36% (    48.33s) hudson.scm.SubversionChangeLogParser.parse()
   7.14% (    11.37s) org.kohsuke.stapler.jelly.JellyClassTearOff.parseScript()
   6.25% (     9.95s) net.sf.json.JSONObject.write()
   3.13% (     4.98s) ....kohsuke.stapler.jelly.CustomTagLibrary.loadJellyScri()

4

3
TPTP를 설정할 수 없었습니다. 아마도 나는 그것을 사용하기에는 너무 멍청한 것 같습니다.
quant_dev 2009

@quant_dev : 같은 문제가 있었지만 우연히 갑자기 설정되도록 관리했습니다 (이클립스가 다시 시작되거나 무엇이든?). 그러나 내가 그것을 사용했을 때 그것은 거의 쓸모없는 것으로 판명되었고, 엄청나게 느리고 내가 일식을 죽일 때까지 자원이 부족했습니다. 내가 온라인에서 찾은 여러 참고 문헌에서 언급 된보다 유용한 뷰 중 일부는 Eclipse 3.5에서 작동하는 현재 현실에 더 이상 존재하지 않는 것 같습니다. 따라서 현재로서는 기본적으로 쓸모없는 거대한 BLOB입니다.
x4u

1
Eclipse TPTP는 성숙한 제품처럼 보이지만 매우 느립니다. 이유를 이해할 수 없습니다 ...
Roalt 2010

4
불행히도 TPTP는 이제 최종 릴리스 (v4.7.2)를 받았습니다. 아카이브되었으며 더 이상 Eclipse 동시 릴리스의 일부가 아닙니다.
joelittlejohn

3

단순하고 사용하기 쉬운 오픈 소스 프로파일 러를 찾고 있다면 Jip ( Java Interactive Profiler )를 살펴볼 수 있습니다 . BSD 라이선스로 게시되었습니다. 작은 프로그램에 매우 유용하다는 것을 알았습니다. 적어도 그것이 제공하는 결과는 hprofs 출력보다 이해하기가 훨씬 쉽습니다.


2

자바 미션 컨트롤 , 개발에 무료로 사용할 수 있으며 Eclipse와 통합됩니다. 어쨌든 JVM이 수집하는 데이터에 피기 백하기 때문에 오버 헤드가 매우 낮습니다 (<1 %).

사용이 매우 쉬우 며 일반적으로 다른 프로파일 링 도구에서 찾을 수없는 많은 정보 (예 : 대기 시간 프로파일 링, 온라인 메모리 검사, 상세한 gc 통계)를 제공 할 수도 있습니다.


1

이것은 빠르고 더럽고 매우 효과적입니다. 몇 개의 스레드 덤프를 취하거나 프로그램을 여러 번 일시 중지하고 스택 추적을 살펴보십시오.


1

최첨단 https://github.com/jvm-profiling-tools/async-profiler 고려

이 프로젝트는 Safepoint 바이어스 문제 가없는 Java 용 낮은 오버 헤드 샘플링 프로파일 러입니다 . 스택 추적을 수집하고 메모리 할당을 추적하기위한 HotSpot 관련 API가 있습니다. 프로파일 러는 OpenJDK, Oracle JDK 및 HotSpot JVM을 기반으로하는 기타 Java 런타임에서 작동합니다.

IntelliJ IDEA Ultimate에 내장되어 있습니다 : https://www.jetbrains.com/help/idea/cpu-profiler.html .


유사한 https://github.com/jvm-profiling-tools/honest-profiler있습니다. .

사이의 비교 async-profilerhonest-profiler: https://github.com/jvm-profiling-tools/async-profiler/issues/77


비동기 프로파일에 좋은 그림 기사 : hackernoon.com/...
바드

0

Netbeans IDE에는 무료 프로파일 러가 포함되어 있습니다.

또한 내가 올바르게 기억한다면 JProfiler의 학술 라이선스는 (상대적으로) 저렴합니다.


1
OP는 "너무 비싸지 않은 학업 면허"를 요구했습니다. JProfiler의 단일 아카데믹 라이센스는 US $ 199입니다
masher

1
그는 오픈 소스이거나 저렴한 학술 라이선스가있는 것을 요청했습니다. 제 생각에는 199 달러는 일반 라이선스에 499 달러가 드는 도구에 비해 상당히 저렴합니다.
Paul Morie

0

JVM 모니터 는 Java 애플리케이션의 CPU, 스레드 및 메모리 사용량을 모니터링하기 위해 Eclipse와 통합 된 Java 프로파일 러입니다.

심층 분석이 필요한 경우 다음 단계로 다른 도구 (예 : TPTP , 메모리 분석기 )를 사용할 수 있습니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.