Mówiąc open source, masz na myśli wolne? Mają różne znaczenia. Czy Twoje pytanie dotyczy niedrogich profilerów?
Robert Munteanu
3
wolny jak w wolności czy wolny jak za darmo? Och, zamieszanie!
Tarski
Odpowiedzi:
61
VisualVM, który jest dostarczany z jdk6, ma w sobie podstawowy profiler. VisualVM jest dostarczany z jdk, więc jeśli masz zainstalowany jdk6, prawdopodobnie masz go również zainstalowany.
Java ma wbudowany podstawowy profiler o nazwie HProf . Uważam, że przydatne jest porównanie wyników, które zapewnia, z wynikami uzyskanymi z bardziej funkcjonalnych profilerów.
Nigdy nie byłem w stanie ustawić TPTP. Może jestem za głupi, żeby go używać.
quant_dev
@quant_dev: Miałem ten sam problem, ale jakoś przypadkowo udało mi się ustawić go nagle (restart zaćmienia czy cokolwiek?). Ale kiedy go użyłem, okazało się, że jest prawie bezużyteczny, jest niesamowicie powolny i żądny zasobów do tego stopnia, że zabiłem zaćmienie. Niektóre z bardziej użytecznych widoków, które zostały wymienione w kilku źródłach, które znalazłem w Internecie, również wydają się już nie istnieć w obecnej wersji, która działa z zaćmieniem 3.5. Więc w tej chwili jest to po prostu ogromna KROPKA bezużyteczności.
x4u
1
Eclipse TPTP wygląda jak dojrzały produkt, ale działa bardzo wolno. Nie mogę zrozumieć, dlaczego ...
Roalt
4
Niestety TPTP doczekał się teraz swojej ostatecznej wersji (v4.7.2). Został zarchiwizowany i nie jest już częścią jednoczesnego wydania Eclipse.
joelittlejohn
3
Jeśli szukasz prostego, łatwego w użyciu programu do profilowania typu open source, możesz rzucić okiem na Jip ( Java Interactive Profiler ). Jest opublikowany na licencji BSD. Okazało się, że jest to całkiem przydatne dla małych programów. Przynajmniej wyniki, które daje, są o wiele łatwiejsze do zrozumienia niż wyniki hprofs.
Java Mission Control , jest bezpłatna do programowania i integruje się z Eclipse. Ma bardzo niskie narzuty (<1%), ponieważ i tak korzysta z danych zbieranych przez JVM.
Jest bardzo łatwy w użyciu i może również dostarczyć wiele informacji, których zwykle nie znajdziesz w innych narzędziach do profilowania, np. Profilowanie opóźnień, inspekcja pamięci online, szczegółowe statystyki GC
Ten projekt jest profilerem próbkowania o niskim nakładzie pracy dla języka Java, który nie cierpi z powodu błędu odchylenia Safepoint . Zawiera specyficzne dla HotSpot interfejsy API do zbierania śladów stosu i śledzenia alokacji pamięci. Profiler współpracuje z OpenJDK, Oracle JDK i innymi środowiskami wykonawczymi Java opartymi na HotSpot JVM.
OP poprosił o „niezbyt kosztowną licencję akademicką”. Pojedyncza licencja akademicka na JProfiler kosztuje 199 USD
masher
1
Poprosił o coś, co było open source lub miało niedrogą licencję akademicką. Moim zdaniem 199 USD jest dość niedrogie jak na narzędzie, które kosztuje 499 USD za normalną licencję.
Paul Morie
0
JVM Monitor to program do profilowania Java zintegrowany z Eclipse w celu monitorowania wykorzystania procesora, wątków i pamięci przez aplikacje Java.
Jeśli potrzebna jest dalsza głęboka analiza, możesz skorzystać z innych narzędzi (np. TPTP , Memory Analyzer ) jako kolejnego kroku.
Odpowiedzi:
VisualVM, który jest dostarczany z jdk6, ma w sobie podstawowy profiler. VisualVM jest dostarczany z jdk, więc jeśli masz zainstalowany jdk6, prawdopodobnie masz go również zainstalowany.
https://visualvm.github.io/
źródło
VisualVM
wcześniej z powodzeniem, ale podczas próby profilowania aplikacji Tomcat powodowało to awarię. To zadziałało dla mnie: github.com/jvm-profiling-tools/honest-profilermasz tutaj listę (wymieniając je poniżej, w przypadku, gdy link zostanie uszkodzony)
źródło
Ach. Netbeans Profiler , zwycięzca konkursu „Produkt roku” developer.com w 2009 roku.
źródło
Java ma wbudowany podstawowy profiler o nazwie HProf . Uważam, że przydatne jest porównanie wyników, które zapewnia, z wynikami uzyskanymi z bardziej funkcjonalnych profilerów.
źródło
Narzędzie jvmtop typu open source zawiera podstawowy profiler konsoli. Przykładowe dane wyjściowe:
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()
źródło
Eclipse TPTP
Tutaj jest artykuł o profilowaniu aplikacji Java przy użyciu TPTP, a tutaj jest samouczek Profilowanie aplikacji opartych na J2SE 5.0 przy użyciu Eclipse TPTP .
źródło
Jeśli szukasz prostego, łatwego w użyciu programu do profilowania typu open source, możesz rzucić okiem na Jip ( Java Interactive Profiler ). Jest opublikowany na licencji BSD. Okazało się, że jest to całkiem przydatne dla małych programów. Przynajmniej wyniki, które daje, są o wiele łatwiejsze do zrozumienia niż wyniki hprofs.
źródło
Java Mission Control , jest bezpłatna do programowania i integruje się z Eclipse. Ma bardzo niskie narzuty (<1%), ponieważ i tak korzysta z danych zbieranych przez JVM.
Jest bardzo łatwy w użyciu i może również dostarczyć wiele informacji, których zwykle nie znajdziesz w innych narzędziach do profilowania, np. Profilowanie opóźnień, inspekcja pamięci online, szczegółowe statystyki GC
źródło
Jest to szybkie, brudne i bardzo efektywne: po prostu wykonaj kilka zrzutów wątków lub kilkakrotnie wstrzymaj program i spójrz na ślady stosu.
źródło
Rozważ najnowocześniejsze https://github.com/jvm-profiling-tools/async-profiler
Jest również wbudowany w IntelliJ IDEA Ultimate: https://www.jetbrains.com/help/idea/cpu-profiler.html .
Jest też podobny https://github.com/jvm-profiling-tools/honest-profiler .
Porównanie między
async-profiler
ihonest-profiler
: https://github.com/jvm-profiling-tools/async-profiler/issues/77źródło
Netbeans IDE zawiera darmowy program do profilowania.
Ponadto, o ile dobrze pamiętam, licencja akademicka na JProfiler jest (stosunkowo) niedroga.
źródło
JVM Monitor to program do profilowania Java zintegrowany z Eclipse w celu monitorowania wykorzystania procesora, wątków i pamięci przez aplikacje Java.
Jeśli potrzebna jest dalsza głęboka analiza, możesz skorzystać z innych narzędzi (np. TPTP , Memory Analyzer ) jako kolejnego kroku.
źródło