Monitorando Objetos ativos  XML
Índice dos Fóruns » Java Avançado
Autor Mensagem
Rulio
JavaBaby
[Avatar]

Membro desde: 22/08/2006 00:34:38
Mensagens: 94
Offline

olá pessoas...

mas uma vez venho postar minhas duvidas.

Estou querendo saber se existe alguma possibilidade de desenvolver o programa que monitore todos os objetos ativos e que tb não estão mas ativos, ou seja, prontos para serem excluídos pelo GC.

O problema que estou é o seguinte:

Tenho uma aplicação rodando no tomcat 5 e que de tempos em tempos é necessário reiniciar o tomcat para que a aplicação volte a funcionar normalmente. Estou com, quase certeza, que isso está acontecendo por conta de algo abertos e que não estão sendo fechados em sua finalização, por exemplo:
ResultSet, PreparedStatement e entre outros.

Já percorrir todo o código fonte em busca de algo aberto, infelizmente não obtive exíto na procura, todos fechados.

Em detrimento disto, estou querendo criar um monitor de objetos.

Peço ajuda dos companheiros nessa dificil batalha contra as forças da JVM.

Abraços.

Rulio Vangellis.




Sun Certified Java Programmer 5.0
"Nada é simples demais que não possa ser abstraído, nada é complexo demais que não possa ser generalizado."
Luca
Moderador
[Avatar]

Membro desde: 06/09/2002 14:30:10
Mensagens: 5796
Localização: São Paulo/SP ou Paraty/RJ
Offline

Olá

Rulio wrote: Estou com, quase certeza, que isso está acontecendo por conta de algo abertos e que não estão sendo fechados em sua finalização,


Provavelmente alguma conexão. Monitore também sua base de dados.

Se usa Java 5 ou Java 6, o JConsole serve também para isto sem que você precise alterar nada na aplicação. Basta inicializar com o parâmetro -Dcom.sun.management.jmxremote no Java 5 (no Java 6 não precisa).

Alguns links que podem lhe servir:

http://blogs.sun.com/lmalventosa/entry/mimicking_the_out_of_the

http://java.sun.com/j2se/1.5.0/docs/guide/management/mxbeans.html

http://blogs.boxysystems.com/2007/4/11/tomcat-v5-0-28-memory-leak-exposed

http://e-docs.bea.com/wljrockit/docs50/usingJMC/monitoring.html (Se usa o JRockit)

[]s
Luca

Dare Obasanjo (Program Manager at Microsoft)
"The folks I know from across the industry who have to build large scale Web services on the Web today at Google, Yahoo!, Facebook, Windows Live, Amazon, etc are using RESTful Web services. The only times I encounter someone with good things to say about WS-* is if it is their job to pimp these technologies or they have already "invested" in WS-* and want to defend that investment."


CEP, JMS, JMX e coisas afins (ou não)
http://lucabastos.blogspot.com/
[Email] [WWW]
Rulio
JavaBaby
[Avatar]

Membro desde: 22/08/2006 00:34:38
Mensagens: 94
Offline

opa, estou utilizando java 1.4
Normas da casa

Sun Certified Java Programmer 5.0
"Nada é simples demais que não possa ser abstraído, nada é complexo demais que não possa ser generalizado."
Luca
Moderador
[Avatar]

Membro desde: 06/09/2002 14:30:10
Mensagens: 5796
Localização: São Paulo/SP ou Paraty/RJ
Offline

Olá

Rulio wrote:estou utilizando java 1.4


1. Monitore a base de dados. Se for Oracle, por exemplo, veja as VSessions

2. Se ainda não usa, passe a usar um connection pool. Provavelmente nesta refatorada, além dos benefícios do uso, o problema deve sumir

3. Se for possível, monte um ambiente de testes com Java5 (ou Java 6) e use o JConsole como disse antes

4. Use algum profiler

5. Diga qual tomcat 5 usa (será aquele do memory leak que lhe passei?)

6. Diga qual base de dados e tudoo mais que possa ajudar alguém a lhe ajudar.

[]s
Luca

Dare Obasanjo (Program Manager at Microsoft)
"The folks I know from across the industry who have to build large scale Web services on the Web today at Google, Yahoo!, Facebook, Windows Live, Amazon, etc are using RESTful Web services. The only times I encounter someone with good things to say about WS-* is if it is their job to pimp these technologies or they have already "invested" in WS-* and want to defend that investment."


CEP, JMS, JMX e coisas afins (ou não)
http://lucabastos.blogspot.com/
[Email] [WWW]
Rulio
JavaBaby
[Avatar]

Membro desde: 22/08/2006 00:34:38
Mensagens: 94
Offline

tranquilo...

JAVA 1.4;
Banco de dados ORACLE;
Possui pool de conexão;
TOMCAT 4.1 (Tinha falado antes que era o 5)

Sun Certified Java Programmer 5.0
"Nada é simples demais que não possa ser abstraído, nada é complexo demais que não possa ser generalizado."
fabiofalci
GUJ Master
[Avatar]

Membro desde: 11/04/2006 09:23:14
Mensagens: 1054
Localização: Porto Alegre - RS
Offline

Tem o JProfiler. É pago mas é bom.. E tem um trial de alguns dias...

http://www.ej-technologies.com/products/jprofiler/overview.html
[WWW] [MSN] [ICQ]
 
Índice dos Fóruns » Java Avançado
Ir para:   
Powered by JForum 2.1.8 © JForum Team