Açık Kaynak Java Profilleri [kapalı]


94

Java ile ne kullanmanızı tavsiye edersiniz?

Tek şart, açık kaynak olması veya çok pahalı akademik lisansa sahip olmamasıdır.


4
Açık kaynak derken özgür mü demek istiyorsun? Farklı anlamları var. Sorunuz _inexpensive profil oluşturucularla ilgili mi?
Robert Munteanu

3
Özgürlükte olduğu kadar özgür mü yoksa bedava olduğu kadar özgür mü? Oh kafa karışıklığı!
Tarski

Yanıtlar:


62

Jdk6 ile birlikte gelen VisualVM, içinde temel bir profilleyiciye sahiptir. VisualVM, jdk ile birlikte sağlanır, bu nedenle, jdk6 yüklüyse, muhtemelen onu da yüklediniz.

https://visualvm.github.io/


3
VisualVM profil oluşturucusu, NetBeans'teki birinin bağımsız bir sürümüdür. ÇOK iyi bir başlangıçtır.
Thorbjørn Ravn Andersen

2
En güncel sürümü kesinlikle görselvm.dev.java.net adresinden indirin . Ayrıca: bu, NetBeans'ın kullandığı profilleyicidir.
Peterdk

Daha önce VisualVMbaşarılı bir şekilde kullandım , ancak bir Tomcat uygulamasının profilini çıkarmaya çalışırken benim için çöküyordu. Bu benim için çalıştı: github.com/jvm-profiling-tools/honest-profiler
Lambart

21

burada bir listeniz var (bunları aşağıda listeleyebilirsiniz, durumda bağlantı kopar)

  • JMemProf
  • JMP
  • DrMem
  • JTreeProfiler
  • NetBeans Profilcisi
  • JAMon API
  • JBoss Profiler
  • MessAdmin
  • Kızılötesi
  • TomcatProbe
  • Java Interactive Profiler (JIP)
  • Profiler4j
  • Kronometre
  • JÖlçüm
  • DJProf
  • TIJmp
  • Allmon
  • Appspy
  • EurekaJ
  • japex
  • OKTECH Profiler
  • Perf4j

1
Bunu listeye ekleyebilirsiniz: github.com/jvm-profiling-tools/honest-profiler
Lambart


10

Java'nın HProf adında temel bir yerleşik profil oluşturucusu vardır . Sağladığı sonuçları daha tam özellikli profil oluşturuculardan alınan sonuçlarla karşılaştırmayı yararlı buluyorum.


1
HPROF'u yıllardır kullandım ve güzel olmasa da sayısız bellek ve performans sorununu çözmeme yardımcı oldu.
Gandalf

1
HPROF genellikle optimize etmek için farklı noktalar bulur. YourKit artık optimize etmem için bana bariz noktalar vermediğinde sık sık kullanıyorum.
Peter Lawrey


5

Açık kaynaklı araç jvmtop , temel bir konsol profilleyici içerir. Örnek çıktı:

 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'yi hiçbir zaman ayarlayamadım. Belki de onu kullanamayacak kadar aptalım.
quant_dev

@quant_dev: Aynı sorunu yaşadım ama bir şekilde kazara aniden kurmayı başardım (tutulma yeniden başlatıldı veya her neyse?). Ama onu kullandığımda neredeyse işe yaramaz hale geldi, inanılmaz derecede yavaştı ve tutulmayı öldürdüğüm noktaya kadar kaynağa aç oldu. Çevrimiçi bulduğum birkaç referansta bahsedilen daha yararlı görünümlerden bazıları, eclipse 3.5 ile çalışan mevcut realease'de de artık mevcut görünmüyor. Yani şu anda temelde sadece büyük bir işe yaramazlık BLOB'u.
x4u

1
Eclipse TPTP olgun bir ürüne benziyor ancak son derece yavaştır. Nedenini anlayamıyorum ...
Roalt

4
Maalesef TPTP artık son sürümüne (v4.7.2) sahip. Arşivlenmiştir ve artık Eclipse eşzamanlı sürümünün bir parçası değildir.
joelittlejohn

3

Basit, kullanımı kolay bir açık kaynak profil oluşturucu arıyorsanız, Jip'e ( Java Interactive Profiler ) bir göz atmak isteyebilirsiniz . BSD lisansı altında yayınlanmıştır. Küçük programlar için oldukça kullanışlı buldum. En azından, verdiği sonuçların anlaşılması hprofs çıktısından çok daha kolaydır.


2

Java Mission Control , geliştirme için kullanmak ücretsizdir ve Eclipse ile entegre olur. JVM'nin yine de topladığı veriler üzerine bindirmeler yaptığı için çok düşük ek yüke sahiptir (<% 1).

Kullanımı çok kolaydır ve diğer profil oluşturma araçlarında bulamayacağınız pek çok bilgiyi de verebilir, örneğin gecikme profili oluşturma, çevrimiçi bellek denetimi, ayrıntılı gc istatistikleri


1

Bu hızlı, kirli ve çok etkilidir: sadece birkaç iş parçacığı dökümü alın veya programı birkaç kez duraklatın ve yığın izlerine bakın.


1

Son teknoloji https://github.com/jvm-profiling-tools/async-profiler düşünün

Bu proje, Safepoint önyargı sorunu yaşamayan Java için düşük genel gider örnekleme profilleyicisidir . Yığın izlerini toplamak ve bellek ayırmalarını izlemek için HotSpot'a özgü API'ler içerir. Profil oluşturucu, OpenJDK, Oracle JDK ve HotSpot JVM'ye dayalı diğer Java çalışma zamanlarıyla çalışır.

Ayrıca IntelliJ IDEA Ultimate'da yerleşiktir: https://www.jetbrains.com/help/idea/cpu-profiler.html .


Ayrıca benzer https://github.com/jvm-profiling-tools/honest-profiler var .

Arasında karşılaştırma async-profilerve honest-profiler: https://github.com/jvm-profiling-tools/async-profiler/issues/77


Async-profiler hakkında güzel resimli makale: hackernoon.com/…
Vadzim

0

Netbeans IDE, ücretsiz bir profil oluşturucu içerir.

Ayrıca, doğru hatırlıyorsam, JProfiler için akademik lisans (nispeten) ucuzdur.


1
OP, "çok pahalı olmayan akademik lisans" istedi. JProfiler için tek bir akademik lisans 199 $ 'dır
masher

1
Açık kaynaklı veya ucuz bir akademik lisansa sahip bir şey istedi. Kanımca, normal bir lisans için 499 dolara mal olan bir araç için 199 ABD doları oldukça ucuzdur.
Paul Morie

0

JVM Monitor , Java uygulamalarının CPU, iş parçacığı ve bellek kullanımını izlemek için Eclipse ile entegre bir Java profil oluşturucusudur.

Daha fazla derinlemesine analize ihtiyaç duyulursa, sonraki adım olarak diğer araçları (örn. TPTP , Memory Analyzer ) kullanabilirsiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.