Consumo memoria java queda servidor

De Wiki Integrator do Brasil
Ir para: navegação, pesquisa
Causa de queda do servidor Java

O servidor Java, ultrapassando a memória disponível no seu plano, gera conflito de processamento com o sistema operacional, o fazendo ser desligado.

O servidor Java sempre tenta obedecer a memória que configurou, embora, se houver necessidade de mais, ele vai buscar. Nem Java, nem PHP e nem nenhuma linguagem existente se, necessitar de mais, deixará de tentar buscar. Infelizmente este comportamento causa o problema. Se o seu serviço requer mais que o configurado, ele vai pedir mais. Só que, se o configurado é X de memória, ou seja a memória de seu plano máximo, ele vai cair porque não há como alocar mais.

Em outros programas, como PHP, por exemplo, gera um erro de memória não alocada suficiente. No Java, geralmente, não esperamos gerar o erro de OutOffMemory, pois sempre antes do referido erro, corre uso de processamento massivo.

O que precisa se feito é analisar seus logs, verificar exceptions e tratar de todas. Cada exception é um problema e cada problema pode gerar leaks de memória. Você pode ter problemas no seu servidor por falta de memória por conta de situações simples que devem ser tratadas pelo usuário. Até mesmo a quantia de logs lançadas podem ocasionar um consumo excessivo de memória.

O comando do SSH abaixo irá ajudá-lo a acompanhar seu serviço e tempo real:

top -u USUARIO_FTP

Substitua USUARIO_FTP pelo seu usuário do ftp do painel de controle. Analise a coluna RES, de memória REServada, que aparece em tempo real, em MB de RAM. Acima de 10% do configurado, gera geralmente quedas.

Nota: O painel sempre emite um comunicado. Ignorar o comunicado irá lhe causar transtornos por falta de antecipação ao problema relatado. Localização de Logs

Pedimos que olhe, por favor, seus logs do servidor Java. Veja se o seu aplicativo lança alguma exception que ajudaria a elevar o uso de memória. Analise também a real necessidade de memória de seu plano.

Os logs podem ser obtidos via FTP para melhor análise em sua máquina, através do caminho onde o servidor Java está instalado. Abaixo os caminhos, veja qual é o seu servidor Java para obter:

JBOSS 4 até 6

~/appservers/jboss-Xx/server/default/log/server.log

JBOSS 7

~/appservers/jboss-7x/standalone/log/server.log

GlassFish 2 até 4

~/appservers/glassfish-Xx/domains/domain1/logs/server.log

Tomcat 5.5. até 7

~/appservers/apache-tomcat-Xx/logs/stdout.log