| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/04/2003 00:01:41
|
Paulo Silveira
Administrador
![[Avatar]](/images/avatar/a87ff679a2f3e71d9181a67b7542122c.jpg)
Membro desde: 07/08/2002 18:38:50
Mensagens: 4204
Localização: São Paulo
Offline
|
oi pessoal
eu falei ontem com muita gente, que estava com um problema com o garbage collector numa aplicacao web.
depois de procurar muito, descobri que minha session tinha 600 minutos, q sao 10 horas de milhares de usuarios logados no seu tomcat. muita gente usa o sistema, entao a aplicacao batia 100 megas em menos de uma hora. mudei o timeout, melhorou bastante.
Mesmo assim a memoria ia aumentando vagarosamente.
Ai descobri o vilao: a api de logging do java 1.4.
Bem, eu crio MUITOS loggers, um para cada usuario (100 usuarios acessam em uma hora). e eu nem fecho logger nenhum, porque voce pede o logger por um factory, que repassa para o LogManager, e esta escrito assim na documentacao:
The application should retain its own reference to the Logger object to avoid it being garbage collected. The LogManager may only retain a weak reference.
mas DENTRO do codigo fonte, olha soh:
FALA SERIO. guarda strong reference. se fosse soft ao menos!!! Eles escrevem uma coisa e fazem outra. ABSURDO.
|
http://blog.caelum.com.br twitter: @paulo_caelum
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/04/2003 00:14:25
|
cv
Moderador
![[Avatar]](/images/avatar/210f760a89db30aa72ca258a3483cc7f.jpg)
Membro desde: 04/04/2003 00:32:12
Mensagens: 7842
Localização: São Paulo, SP
Offline
|
Manda isso pro BugParade... se é que já não está lá
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/04/2003 00:19:26
|
Daniel Quirino Oliveira
Moderador
![[Avatar]](/images/avatar/846c260d715e5b854ffad5f70a516c88.png)
Membro desde: 23/03/2003 23:57:34
Mensagens: 3299
Localização: Awawawawa (Araraquara) - SP
Offline
|
poxa!! 10 horas de sessão é de matar qualquer aplicação... haja memória mesmo...
|
Daniel Quirino Oliveira |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/04/2003 00:21:49
|
cv
Moderador
![[Avatar]](/images/avatar/210f760a89db30aa72ca258a3483cc7f.jpg)
Membro desde: 04/04/2003 00:32:12
Mensagens: 7842
Localização: São Paulo, SP
Offline
|
Daniel Quirino Oliveira wrote:poxa!! 10 horas de sessão é de matar qualquer aplicação... haja memória mesmo... 
Pois é, normalmente vemos sessões variando de 15 minutos a 2 horas...
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/04/2003 02:09:58
|
dukejeffrie
Virtual Machine Man
![[Avatar]](/images/avatar/c74d97b01eae257e44aa9d5bade97baf.png)
Membro desde: 21/08/2002 03:53:28
Mensagens: 661
Offline
|
A API tem uns buracos mesmo... que lixo!!!
Mas note que se vc pedir ao manager um logger com nome "PEAS", ele vai retornar um logger novo na primeira chamada e o mesmo logger daí pra frente.
Talvez vc possa adaptar seu código pra escapar do leak usando nomes "unicos por contexto"... : )
[]s
|
Brevity is the soul of wit |
|
|
 |
|
|