| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/03/2009 14:50:30
|
Jedi_FeniX
Virtual Machine Man
![[Avatar]](/images/avatar/06ab8d9df63b836129099247301c038b.jpg)
Membro desde: 26/04/2007 14:32:30
Mensagens: 586
Offline
|
Tenho uma aplicação que roda dentro do Tomcat6 e usa CXF( para criar webservices), JPA Hibernate, Quartz. E uso o probe para monitorar as aplicações do tomcat.
Quando o aplicativo é inicializado uma servlet é inicializada para criar um processo que fica indo no banco de segundo em segundo para verificar se existe alguma linha nova em uma determinada tabela.
Depois de inicializar esta aplicação a memória da JVM vai embora, alguém tem alguma idéia do que pode ser?
Teria alguma aplicação que indique aonde ou em qual classe pode estar consumindo a memória?
Abaixo tem o erro que o tomcat mostra:
This message was edited 1 time. Last update was at 20/03/2009 14:53:47
|
www.bau-de-dev.com |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/03/2009 15:49:32
|
Pedrosa
JWizard
![[Avatar]](/images/avatar/2b763288faedb7707c0748abe015ab6c.jpg)
Membro desde: 13/07/2005 13:08:08
Mensagens: 2505
Localização: São Paulo - Brasil
Offline
|
Configure a memoria do Tomcat para um valor maior:
http://www.pingifes.lcc.ufmg.br/index.php?option=com_simpleboard&Itemid=37&func=view&catid=7&id=83
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/03/2009 15:59:33
|
Jedi_FeniX
Virtual Machine Man
![[Avatar]](/images/avatar/06ab8d9df63b836129099247301c038b.jpg)
Membro desde: 26/04/2007 14:32:30
Mensagens: 586
Offline
|
A jvm está com estas configurações
Desculpe tinha esquecido de colocar.
|
www.bau-de-dev.com |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/03/2009 16:05:38
|
Pedrosa
JWizard
![[Avatar]](/images/avatar/2b763288faedb7707c0748abe015ab6c.jpg)
Membro desde: 13/07/2005 13:08:08
Mensagens: 2505
Localização: São Paulo - Brasil
Offline
|
Quanto tem a máquina de memoria?
Falam que 1GB de max da conta do recado , caso esteja estourando mesmo assim e hora de rever sua aplicação.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/03/2009 16:11:27
|
Jedi_FeniX
Virtual Machine Man
![[Avatar]](/images/avatar/06ab8d9df63b836129099247301c038b.jpg)
Membro desde: 26/04/2007 14:32:30
Mensagens: 586
Offline
|
Vou aumentar e fazer os testes, queria saber se existe alguma aplicação que fique monitorando uma aplicação, que indique os status das threads e que indique aonde tem muito consumo de memória, nas threads...
|
www.bau-de-dev.com |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/03/2009 16:14:44
|
Pedrosa
JWizard
![[Avatar]](/images/avatar/2b763288faedb7707c0748abe015ab6c.jpg)
Membro desde: 13/07/2005 13:08:08
Mensagens: 2505
Localização: São Paulo - Brasil
Offline
|
Existem varias ferramentas, procure por Profiller com tomcat.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/03/2009 17:47:37
|
Jedi_FeniX
Virtual Machine Man
![[Avatar]](/images/avatar/06ab8d9df63b836129099247301c038b.jpg)
Membro desde: 26/04/2007 14:32:30
Mensagens: 586
Offline
|
Aumentei para 1Giga, mas ainda continua acontencendo, a única diferença é que demora mais para o tomcat morrer.
Fiz a pesquisa que você falou do profiler e achei um que já vem com o netbeans, ainda estou tentando entender as informaçãoes, mas acho que o problema pode estar nas classes de persistências, ou seja, no JPA. Por que eu tenho que ir ao banco, agora de 1 em 1 minuto, seria melhor usar JDBC puro nesta situação?
Outra coisa mesmo a query não retornando nada as classes são instanciadas?
|
www.bau-de-dev.com |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/03/2009 17:52:12
|
peczenyj
Moderador
![[Avatar]](/images/avatar/299dc35e747eb77177d9cea10a802da2.jpg)
Membro desde: 26/03/2006 23:25:37
Mensagens: 3191
Localização: Rio de Janeiro
Offline
|
Humm... vc tem que ir ao banco de 1 em 1 minuto? Aparentemente existe alguma configuração no JPA que não esta de acordo com isso, ja procurou verificar?
Saber analisar as informações do seu profiler é primordial nesse caso: poste alguma coisa pra gente te ajudar!
|
http://pacman.blog.br
'Não importa quanto alguém se dedique à tarefa. Ninguém consegue fazer a água da cascata cair para cima.' |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 25/03/2009 10:49:46
|
Jedi_FeniX
Virtual Machine Man
![[Avatar]](/images/avatar/06ab8d9df63b836129099247301c038b.jpg)
Membro desde: 26/04/2007 14:32:30
Mensagens: 586
Offline
|
Vi no profiler que ele demorava muito para instanciar uma determinada classe, que no método construtor dela tem o seguinte código:
Acredito que um dos consumo de memória esteja aqui, porque ao invés de ficar instanciando esta classe toda hora coloquei ela como static, parou de dar OutOfMemory.
Mas deixou a minha apicação bem mais lenta, porque o quartz, que aonde eu faço o agendamento, cria algumas threads e essas trhreads passam a acessar o mesmo objeto, com isso deixando a consulta com o banco mais lenta.
Alguém tem alguma idéia de como solucionar este problema?
Deu para entender ou ficou confuso? heheheheh
|
www.bau-de-dev.com |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 25/03/2009 11:51:02
|
renzonuccitelli
GUJ Master
Membro desde: 17/09/2008 12:58:32
Mensagens: 1133
Offline
|
Olha, até onde eu sei, vc só cria o seu EntityManagerFactory uma vez. Depois apenas usa essa factory para criar o EntityManger. Isso porque nessa criação vc sempre faz a conexão com o BD e isso consome bastante memória mesmo. Eu uso o Singleton para não ter problema..
|
Renzo Nuccitelli
Engenheiro de Computação - ITA
http://nuccitec.com.br/
http://blog.nuccitec.com.br/
http://jcoltrane.sf.net
http://jfera.nuccitec.com.br/
http://code.google.com/p/webapp-ce/
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/04/2009 15:34:05
|
Jedi_FeniX
Virtual Machine Man
![[Avatar]](/images/avatar/06ab8d9df63b836129099247301c038b.jpg)
Membro desde: 26/04/2007 14:32:30
Mensagens: 586
Offline
|
O desempenho da minha aplicação ficou melhor, mas gostaria de tentar melhora mais ainda.
Tirei este print do profiler do netbeans e gostaria de saber uma opinião de vocês, se tem como melhorar alguma coisa ou como interpretá-lo para saber se está bom ou ruim.
Desculpe a demora.
Aguém tem algum material que explique sobre o profiler? Como entender os gráficos?
|
| Nome do arquivo |
print_profiler.jpg |
Download
|
| Descrição |
imagem do profiler |
| Tamanho |
297 Kbytes
|
| Baixado: |
52 vez(es) |
|
www.bau-de-dev.com |
|
|
 |
|
|