Gideoni,
At 14:45 29/10/2002 -0300, Gideoni Hudson wrote:
> Tenho um servidor com 756 Mb de Ram, iniciei o Tomcat com 128 Mb de Ram
>atrav�s dos parametros -Xms e Xmx do Java. Ap�s executar uma rotina v�rias vezes o
>Tomcat tomou 260 Mb da Ram e n�o liberou mais, deixei o Tomcat sem servi�o por v�rias
>horas e ele n�o liberou nenhum byte. Devido a isso tenho algumas d�vidas.
>
O tamanho que o tomcat vai ocupar em mem�ria depende das webapps que est�o
rodando dentro dele.
> 1) � normal o Tomcat pegar mem�ria e n�o devolver para o SO?
Qualquer aplica��o Java (o tomcat � uma delas) n�o se relaciona diretamente
com o SO, mas apenas com a JVM e esta, por sua vez, se relaciona com o SO.
O Tomcat pode (e faz) cache de v�rios dados por motivo de performance. Eu
analisaria a quest�o olhando quantas e qu�o grandes (do ponto de vista de aloca��o de
objetos) s�o as webapps. Se forem mais de uma, experimente rodar cada uma
individualmente e veja como ele se comporta.
Outro ponto � se este valor de mem�ria cresce at� este pontoe depois se
estabiliza, independente de houve nehum acesso ou milh�es. Se ele crescer, pode ser
que alguma aplica��o tenha um "memory leak" . Por exemplo, uma Hashtable onde
eternamente se incluem elementos e ela nunca "morre".
> 2) As p�ginas e os dados gerados pela rotina s�o destruidos em qual momento ?
No momento em que o garbage collector coleta os objetos. Simplificando, um
objeto � considerado "colet�vel" quando n�o h� mais nenhuma refer�ncia para ele.
> 3) O coletor de lixo deveria liberar a mem�ria n�o utilizada para o SO ?
Sim e n�o. Na verdade a coisa funciona assim:
A JVM aloca recursos com o SO. O garbage collector n�o interage diretamente
com o SO, mas apenas com o heap (�rea de aloca��o de objetos) da JVM Se em algum
momento, ap�s a coleta de lixo, a JVM decidir liberar recursos para o SO, os recursos
voltar�o para o SO. Mas a pr�pria JVM pode guardar um buffer de reserva.
Voc� pode mudar os par�metros de execu��o do Garbage Collector e de
comportamento do heap. D� uma olhada nos par�metros extras da m�quina virtual que voc�
est� usando.
> 4) O Tomcat fica muito lento ou exibe o erro OutOfMemoryError depois que ele
>ultrapassa o limite definido pelos parametros.
Ele vai come�ar a dar OutOfMemory. Se vc quiser experimentar ver isso
acontecer, coloque um par�metro pequeno para o heap, -Xmx32m ou -Xmx32m por exemplo.
Mas n�o fa�a isso num sistema em produ��o ;)
Um abra�o
--
Mauro Nascimento Rezende
Mondo Technologies
Fone/Fax: +55 19 3234-5776
http://www.mondo.com.br
>
>
> ________________________________
>Gideoni Hudson da Silva Braga
>Analista de Sistemas
>
>Prevcaixa - Caixa de Previd�ncia e Assistencia
>+55 31 3226-8707 - Ramal:120
><mailto:gideoni.hudson@;prevcaixa.com.br>[EMAIL PROTECTED]
------------------------------ LISTA SOUJAVA ----------------------------
http://www.soujava.org.br - Sociedade de Usu�rios Java da Sucesu-SP
d�vidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
historico: http://www.mail-archive.com/java-list%40soujava.org.br
para sair da lista: envie email para [EMAIL PROTECTED]
-------------------------------------------------------------------------