Alocação de memória do Tomcat removida por atualizações automáticas

Alocação de memória do Tomcat removida por atualizações automáticas

Estou hospedando alguns servidores, para clientes e para nosso próprio uso. Todos esses servidores rodam Debian Stable. Todos os servidores são servidores virtuais. Isto é para a eventualidade de uma atualização automática matar uma das máquinas: basta substituí-la pelo instantâneo da noite passada e tudo ficará ótimo novamente.

Agora, alguns desses servidores executam aplicativos Tomcat. Um desses aplicativos Tomcat requer mais memória do que a alocação padrão do Tomcat. Até agora, preferi adicionar a alocação de memória ao /etc/init.d/tomcat7, porém, também tínhamos servidores onde ela estava diretamente no catalina.sh.

Depois de ter o problema de um Tomcat parar hoje, descobrimos que as alocações de memória desapareceram repentinamente. Pensamos nas atualizações automáticas configuradas e, de fato, os arquivos de log do cron-apt mostraram que no final de abril houve uma atualização do Tomcat. Portanto, achamos que esta atualização provavelmente substituirá os dois arquivos.

Agora o Tomcat é executado sob o usuário tomcat7 (e também no grupo tomcat7). O usuário tem /usr/share/tomcat7 como home e não possui shell interativo para melhor colocar as alocações de memória).

Onde seria o local correto para exportar a variável JAVA_OPTS para o usuário tomcat7 definir a memória enquanto ainda é à prova de atualização?

Responder1

Geralmente JAVA_OPTSdeve estar setenv.shlocalizado no tomcat binem que você deve encontrá-lo /usr/share/tomcat7/(CATALINA_HOME).

Se este arquivo estiver faltando, você pode criá-lo (/usr/share/tomcat7/bin/setenv.sh) e definir +x bit.

Basta colocar isso no arquivo vazio: JAVA_OPTS="$JAVA_OPTS <your params>"

Esse arquivo não será substituído por atualizações.

Nota: Remova $JAVA_OPTSse desejar substituir totalmente qualquer valor anterior.

informação relacionada