Java ile ne kullanmanızı tavsiye edersiniz?
Tek şart, açık kaynak olması veya çok pahalı akademik lisansa sahip olmamasıdır.
Java ile ne kullanmanızı tavsiye edersiniz?
Tek şart, açık kaynak olması veya çok pahalı akademik lisansa sahip olmamasıdır.
Yanıtlar:
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.
VisualVM
baş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
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
Ah. Developer.com'un 2009'da "Yılın Ürünü" kazananı Netbeans Profiler .
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()
Burada, TPTP kullanarak Java Uygulama Profili Oluşturma hakkında bir makale ve işte Eclipse TPTP kullanarak J2SE 5.0 tabanlı uygulamaların profilini çıkarma öğreticisi .
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.
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
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.
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-profiler
ve honest-profiler
: https://github.com/jvm-profiling-tools/async-profiler/issues/77
Netbeans IDE, ücretsiz bir profil oluşturucu içerir.
Ayrıca, doğru hatırlıyorsam, JProfiler için akademik lisans (nispeten) ucuzdur.
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.