@j_albunio escreveu:
Estou com algumas dúvidas que estão me atrapalhando bastante no que se refere a
deploy/undeploy
de aplicações noTomcat
Tenho um ambiente com
Tomcat 8.0.35
, rodando comJDK 1.8.111
. Sempre faço odeploy
do arquivoWAR
manualmente, pelo Manager App do Tomcat. O servidor tem1GB de RAM
e utilizamosJSF + Primefaces, Spring Security, HIbernate
comoframework
.
Imaginem duas aplicações rodando no mesmo servidor, com esses frameworks todos... seria muita carga? Não tenho noção do consumo de RAM disso tudo, e o servidor fica no talo se eu não fizer nenhuma configuração que limite a memória da JVM.
Se eu fizer a configuração de memória limitando um pouco, já da pra ver que o sistema já não responde da mesma forma...
Outra observação: fiz o deploy de duas aplicações (uma é o núcleo do sistema, outra é uma API de integração). Se eu fazer o Undeploy da API e novamente o Deploy com uma nova versão (quero atualizar a versão API) o servidor trava. Porque? Imagino eu que não há mais memória para "criar" a nova aplicação. Dá impressão de que tudo o que o contexto da API criou, mesmo após o Undeploy, fica preso na memória da JVM. Quando faço um novo Deploy, não tem recurso disponível e tudo trava.
Mais uma observação: também já teste o seguinte => se fazer o undeploy das aplicações e clicar naquele botão do Tomcat que força o GC a rodar (Find Leaks), aparece justamente uma mensagem dizendo que há classes das aplicações XY que não podem ser "descartadas". Parece reforçar o item 3...
Pessoal, não adquiri muito conhecimento sobre como o Java administra as memórias dele (pois sei que não tem só uma memória que armazena nossas variáveis). Creio que é isso que me falta pra solucionar esse tipo de problema.
Podem me orientar?
Mensagens: 9
Participantes: 4