
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_OPTS
deve estar setenv.sh
localizado no tomcat bin
em 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_OPTS
se desejar substituir totalmente qualquer valor anterior.