O que vocês podem recomendar para usar com Java?
O único requisito é que seja open source ou não tenha uma licença acadêmica muito cara.
O que vocês podem recomendar para usar com Java?
O único requisito é que seja open source ou não tenha uma licença acadêmica muito cara.
Respostas:
O VisualVM que vem com o jdk6 possui um profiler básico dentro dele. O VisualVM é fornecido com o jdk, portanto, se você tiver o jdk6 instalado, provavelmente também o terá instalado.
VisualVM
antes com sucesso, mas estava travando enquanto tentava criar o perfil de um aplicativo Tomcat. Isso funcionou para mim: github.com/jvm-profiling-tools/honest-profiler
você tem uma lista aqui (listando-os abaixo, caso o link seja quebrado)
- JMemProf
- JMP
- DrMem
- JTreeProfiler
- NetBeans Profiler
- API JAMon
- JBoss Profiler
- MessAdmin
- Infravermelho
- TomcatProbe
- Java Interactive Profiler (JIP)
- Profiler4j
- Cronômetro
- JMeasurement
- DJProf
- TIJmp
- Allmon
- Appspy
- EurekaJ
- japex
- OKTECH Profiler
- Perf4j
Ah. Netbeans Profiler , vencedor do "Produto do Ano" do developer.com, em 2009.
Java possui um criador de perfil básico chamado HProf . Acho útil comparar os resultados que ele fornece com os resultados de profilers de recursos mais completos.
A ferramenta de código aberto jvmtop inclui um gerador de perfil de console básico. Exemplo de saída:
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()
Este é um artigo sobre Java Application Profiling usando TPTP e um tutorial Profiling J2SE 5.0 com base em aplicativos usando Eclipse TPTP .
Se você estiver procurando por um criador de perfil de software livre simples e fácil de usar, pode dar uma olhada no Jip ( Java Interactive Profiler ). É publicado sob uma licença BSD. Achei muito útil para pequenos programas. Pelo menos, os resultados que ele fornece são muito mais fáceis de entender do que a saída do hprofs.
Java Mission Control , é de uso gratuito para desenvolvimento e se integra ao Eclipse. Ele tem sobrecarga muito baixa (<1%), uma vez que pega carona nos dados que a JVM está coletando de qualquer maneira.
É muito fácil de usar e também pode fornecer muitas informações que você normalmente não encontrará em outras ferramentas de perfil, por exemplo, perfil de latência, inspeção de memória online, estatísticas detalhadas de gc
Isso é rápido, sujo e muito eficaz: basta fazer alguns despejos de thread ou pausar o programa várias vezes e olhar os rastreamentos de pilha.
Considere https://github.com/jvm-profiling-tools/async-profiler de ponta
Este projeto é um gerador de perfil de amostragem de baixa sobrecarga para Java que não sofre de problema de polarização de ponto seguro . Ele apresenta APIs específicas do HotSpot para coletar rastreamentos de pilha e rastrear alocações de memória. O profiler funciona com OpenJDK, Oracle JDK e outros tempos de execução Java baseados em HotSpot JVM.
Também está embutido no IntelliJ IDEA Ultimate: https://www.jetbrains.com/help/idea/cpu-profiler.html .
Também há https://github.com/jvm-profiling-tools/honest-profiler semelhante .
A comparação entre async-profiler
e honest-profiler
: https://github.com/jvm-profiling-tools/async-profiler/issues/77
O Netbeans IDE inclui um criador de perfil gratuito.
Além disso, se bem me lembro, a licença acadêmica do JProfiler é (relativamente) barata.
JVM Monitor é um criador de perfil Java integrado ao Eclipse para monitorar CPU, threads e uso de memória de aplicativos Java.
Se uma análise mais profunda for necessária, você pode usar outras ferramentas (por exemplo , TPTP , Memory Analyzer ) como uma próxima etapa.