Tomcat travando direto

hospedei uma aplicação simples na king host, o projeto funcionou normalmente, mas quando passa um certo tempo o tomcat para de funcionar, dai tenho que ir manualmente e reinicia-lo.

o que pode ser?

será que pode ser o arquivo catalina.out que ocupa muito espaço?

preciso de uma solução urgente!

Você já deu uma olhada nos logs??

O Tomcat usa muita memória, logo ele trava. Talvez seu problema seja esse

Quanto ao tamanho do log não vejo problema nenhum, já vi logs com mais de 8 gigas e o Tomcat rodando normalmente

[quote=wellington.nogueira]Pode ser uma série de fatores.
Teria que analisar os logs-de-erro gerados para tentar alguma conclusão.
Pode ser estouro de pilha, por exemplo (necessidade de reconfigurar o uso de memória ou melhorar o código para o mesmo não ocorrer).

zoren, acho que o tomcat usa pouca memória por padrão (suficiente para a maior parte dos casos) e, as vezes, seria necessário aumentá-la, mas como está em um host, não sei se é possível.[/quote]

quando eu disse muita, quis dizer q ele gasta muita memória.

acho q essas travadas são por causa do famoso PermGem

Como assim objetos mantidos em memória e nunca classificados para coleta (GC)? o que é GC? o que é permGen?
e você quis dizer também que não há possibilidade alguma de ser o log? porque visitei um forum e um dos caras disse que o tamanho do arquivo catalina.out pode influenciar, pois o tomcat também utiliza espaço de armazenamento.

desculpa ai galera porque sou iniciante, estou desenvolvendo meu primeiro sistema profissionalmente falando para a minha faculdade. rsrsrsrs

valeu pela excelente explicação wellington.nogueira ,

olha a king host mandou-me essa resposta:

[color=green]Prezada Fasete,

na realidade efetuamos uma correção na noite desta última sexta-feira em nosso sistema de sinapse, peço que verifiqeu por gentileza.

Todavia, o senhor como pude verificar está colocando toda a saida da sua aplicação para o “catalina.out”, peço que verifique, o que tem real necessidade de colocar a saida para o arquivo.[/color]

não sei como configurar essa saída.

e o log é muito grande para mandar pra vocês por aqui.

todo system.out que vc faz vai pro catalina.out :slight_smile:

da uma olhadinha http://wiki.apache.org/tomcat/FAQ/Logging

Pode ser uma série de fatores.
Teria que analisar os logs-de-erro gerados para tentar alguma conclusão.
Pode ser estouro de pilha, por exemplo (necessidade de reconfigurar o uso de memória ou melhorar o código para o mesmo não ocorrer).

zoren, acho que o tomcat usa pouca memória por padrão (suficiente para a maior parte dos casos) e, as vezes, seria necessário aumentá-la, mas como está em um host, não sei se é possível.

Entendi.

Também pensei a mesma coisa.
Porém pode ser um problema de objetos mantidos em memória e nunca classificados para coleta (GC). Não ocorre na permGen mas causa o mesmo tipo de estrago.
Ou até, algum erro de codificação que deixaria o sistema “em colapso” mas preservando a memória.

Mas sem o log, acaba por ser mera especulação…

Olá,

GC é o Garbage Collector, ou melhor, é “o cara” do java que fará com que seus objetos instanciados que não sejam mais usados sejam liberados da memória. Em geral, dizem que programar em java libera o desenvolvedor de se preocupar com a liberação dos objetos o que não é verdade.
PermGen (permanent generation) é a área de memória do java onde são guardadas as classes (não os objetos), a pilha de chamadas de métodos (e algo mais que não lembro agora).
Existe tbm a memória Heap onde ficam as instâncias e é onde o GC atua mais. Mas se objetos forem alocados (instanciados) sem muito controle (atributos estáticos do tipo Collection, por exemplo) podem sobrecarregar essa memória e acabar por “travar” a aplicação.

Pesquise um pouco sobre o assunto. Vale a pena entender melhor esse assunto :slight_smile:
Seguem alguns links.
http://java.sun.com/docs/hotspot/gc5.0/gc_tuning_5.html


http://java.sun.com/javase/6/webnotes/trouble/TSG-VM/html/memleaks.html

De qualquer forma, antes de continuar procurando o que aconteceu (e culpando o catalina.out :wink: ) procure o log do erro de preferência, logo após o “travamento” para saber qual o stacktrace apresentado. Assim fica mais fácil descobrir a possível causa do erro. Não estou dizendo que não seja ele, mas até agora, só houve especulação…