Pessoal, tenho um servidor WEB rodando Apache 1.3 e Tomcat 4.0.3 integrados. Tenho várias aplicações com JSP’s e Servlet rodando neste ambiente.
Em um determinado momento o site simplesmente trava, fica muito lento e chega até mesmo a parar. O consumo de CPU do processo java.exe (Tomcat) consome todos os recursos da máquina. Assim que paro o Tomcat, a máquina volta ao normal, ou seja, ele libera os recursos que estavam sendo consumidos e deixando a máquina travada.
Alguém já teve esse problema e sabe o que pode estar acontecendo? Será algum problema de performance do Apache ou do Tomcat que posso solucionar mudando alguma configuração destes servidores?
Fico aguardando uma opinião…Valeu…obrigado galera!!!
Dá para saber se é a quantidade de memória física da máquina que está baixa, ou se é um determinado servlet, JSP ou POJO que tem algum código que entrou em loop? (Já vi muitos problemas desses em que um código entrou em loop por ter um bug).
Que ambiente você está usando?
Dependendo do seu sistema operacional é possível determinar se é a quantidade de memória física (o disco fica operando demais, e a CPU fica ociosa mas efetuando um monte de “paging”) ou se é algo que entrou em loop (a CPU vai mesmo para 100% continuamente).
No caso do Linux, você pode tentar o comando “top”; e no Windows, você pode usar o Process Explorer (baixe-o de http://www.sysinternals.org)
W
wender
Estou rodando em ambiente windows.
A máquina é muito boa, roda windows 2000 Server e tem 2GB de memória RAM. Já tentei encontral algum código errado, mas não encontrei.
Com essa ferramenta que vc indicou é possível descobrir de onde vem o erro? Devo executá-la somente quando da ocurrência do erro?
T
thingol
O Process Explorer é o Task Manager só que “metido a besta”.
Por exemplo, o Task manager só diz quanta CPU um processo está gastando. O Process Explorer diz quanta CPU cada thread de cada processo está gastando.
É necessário ir refinando as verificações para chegar à causa do problema.
Talvez seja necessário usar um profiler (tal como o Netbeans Profiler) para ver qual classe Java está gastando mais CPU, se for um bug de programa.
R
Rubem_Azenha
Um profiller poderia ajudar?
J
jeronimoqueiroz
Cara uma dicapratica sem ficar punhetiando e uma ferramento ou outra vai te dar uma resposta magica. utiliza o debug remoto do eclipse. e verifica por debug mesmo. pois isto esta com cara de ser problema de implementação. caso este componente tu não tem o codigo fonte. parte para uma outra distribuição.