Memory Leaks

Galera,

Conhecem alguma ferramenta free que ajude na detecção de memory leaks, onde eu possa ver quais objetos estão permanecendo após a coleta de lixo. Acredito que o profiler do Netbeans faça isto, mas estou utilizando Eclipse.

  • Estava usando o jconsole, e através dele vi que existe vazamento de memória. Porém ele não mostra o nº de objetos criados, o que ajudaria bastante.

Valeu :wink:

O Eclipse tem o TPTP; parece que ele também é bem completo, mas não cheguei a usá-lo.

Olá,

Eu já usei o TPTP. Ele tem muitas funcionalidades, pode te ajudar bastante.
Só que dependendo de sua app, seu eclipse vai simplesmente travar =/

Pelo menos da vez que usei a um tempo atrás era assim. Você vai ter que ter um pouco de paciência.

Att,

O JProfiler faz isso sim e basta instalar o Netbeans, muito simples e rápido. Se quiser testar em cima de outra VM como a JRockit, pode baixar a MissionControl da Oracle :-).

Cara, dá pra usar o profiler do netbeans mesmo startando sua aplicação do eclipse.
No netbeans, ele vai te passar uns parametros de linha de comando que você coloca quando for rodar do eclipse… dai vc inicia o profiler no netbeans e pronto, vc consegue fazer o profile do netbeans com a aplicação rodando no eclipse… muito massa

[]'s

é verdade, também percebi o mesmo. precisarei dele amanhã.
tinha utilizado o lambda probe, porém ele consome muito recurso do container.

tb estarei investigando se existe alguma possibilidade de poder monitorar e obter informações como esta.

[quote=ferro]Cara, dá pra usar o profiler do netbeans mesmo startando sua aplicação do eclipse.
No netbeans, ele vai te passar uns parametros de linha de comando que você coloca quando for rodar do eclipse… dai vc inicia o profiler no netbeans e pronto, vc consegue fazer o profile do netbeans com a aplicação rodando no eclipse… muito massa

[]'s[/quote]

Opá, informação importante!!! Valeus!!! Essa é uma das vantagens do Java, variedade de soluções, inclusive em IDE´s. :lol:

:frowning: :frowning: :frowning: :frowning: :frowning: :frowning: :frowning:
Parece que rodar o profiler do netbeans para uma aplicação externa não funciona legal ainda não. Está senso lançada a seguinte exception:

[quote]Profiler Age#

An unexpected error has been detected by Java Runtime Environment:

EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x6d8f91ac, pid=4092, tid=3136

Java VM: Java HotSpot™ Client VM (1.6.0_02-b06 mixed mode, sharing)

Problematic frame:

V [jvm.dll+0x891ac]

An error report file with more information is saved as hs_err_pid4092.log

If you would like to submit a bug report, please visit:

http://java.sun.com/webapps/bugreport/crash.jsp

#[/quote]

Estou usando a versão 6.0 do netbeans

eu ia mencionar quanto a isto. tanto no TPTP como no netbeans vi uma forma de fazer isto.
talvez seja possível no jconsole.

eu ia mencionar quanto a isto. tanto no TPTP como no netbeans vi uma forma de fazer isto.
talvez seja possível no jconsole.[/quote]
Mas o jconsole é muito básico. Rodei o profiler do netbeans em uma app. feita no netbeans e fiquei de cara, ele é muito bom!!! Pena que para app. externas ele ainda não funcione bem.

Mas faelcavalcanti, vc usou o TPTP como plugin do eclipse e tbém não funcionou legal? O que ocorreu? É que ele seria minha 2ª alterniva!!!

Baixe o VisualVM que é o Profiler do NetBeans versão “light” e totalmente desconctado do NetBeans IDE

https://visualvm.dev.java.net/

[quote=chun]Baixe o VisualVM que é o Profiler do NetBeans versão “light” e totalmente desconctado do NetBeans IDE

https://visualvm.dev.java.net/[/quote]

Valeu :lol: Praticamente idêntico ao do Netbeans e funciona fino!!!

Não tem o que discutir… o NetBeans Profiler é o melhor PRofiler OpenSource do mercado…

Só diz o contrario quem nunca testou.

[quote=chun]Não tem o que discutir… o NetBeans Profiler é o melhor PRofiler OpenSource do mercado…

Só diz o contrario quem nunca testou.
[/quote]

TB Acho e esse era o Liquid, projeto pago da Sun que acabou sendo doado … :smiley:

Como tudo da Sun… que era pago acabou virando OpenSource :stuck_out_tongue:

Semana passada eu dei uma pesquisada sobre alguns comando do próprio Java que podem facilitar a vida.

java -Xrunhprof:cpu=times,depth=10 <<classe>>

Dá uma pesquisada neste nome aqui Xrunhprof

sinceramente não consegui configurar o jmx a partir do tomcat core, isto implica que não consegui monitorar o container a partir do jconsole.
tentei seguir as recomendações do próprio site do tomcat, porém não obtive êxito, ele simplesmente demora e não consegue interceptar. alguém conseguiu?

sim mas tive mais familiaridade com o netbeans, apesar de quase tudo o eclipse TPTP me parece oferecer a partir de seus subprojetos e ferramentas.

estarei testando a partir do netbeans ou eclipse para conseguir aferir mais informações a partir de um container web remotamente.
no eclipse vi que tem um tal de agent controller que possibilita fazer isto, mas o que dificultou é que ele tem que ser configurado no ambiente remoto, já no netbeans não tinha tentado ou visto algo parecido. mas como falei, estarei analisando melhor as duas soluções.

complementando aqui no tópico sobre o assunto, guilherme silveira publicou um recente informe no blog da caelum sobre o assunto em questão.