Des fuites de mémoire se produisent. Cependant, je voudrais être dispensé d'être informé que le site est tombé en panne pendant de longues vacances, j'ai donc étudié la méthode.
Exemple: Créez un fichier comme ↓ restartTomcat.sh et placez-le dans un emplacement approprié (/ usr / local / tomcat / bin, etc.).
restartTomcat.sh
#!/bin/bash
#restart tomcat (exemple) Si vous souhaitez exécuter une commande autre que redémarrer, écrivez-la ensemble. Comme sauter des e-mails.
systemctl restart tomcat.service
Ajoutez l'option suivante à la variable d'environnement CATALINA_OPTS pour spécifier la commande à exécuter lorsque OutOfMemoryError se produit.
Une façon de spécifier l'option Tomcat jvm est Si vous placez un fichier appelé "setenv.sh" dans / usr / local / tomcat / bin, il sera lu depuis catalina.sh au démarrage de Tomcat.
Exemple:
setenv.sh
export CATALINA_OPTS="$CATALINA_OPTS -XX:OnOutOfMemoryError=\"/usr/local/tomcat/bin/restartTomcat.sh\""
Cela exécutera restartTomcat.sh sur OutOfMemoryError.
Si vous souhaitez également générer HeapDump, ajoutez les deux options suivantes à la variable d'environnement CATALINA_OPTS.
--- XX: + HeapDumpOnOutOfMemoryError (HeapDump est généré au moment de OutOfMemoryError.) --- XX: HeapDumpPath (Spécifiez la destination de sortie de HeapDump ci-dessus.)
Exemple:
setenv.sh
export CATALINA_OPTS="$CATALINA_OPTS -XX:+HeapDumpOnOutOfMemoryError"
export CATALINA_OPTS="$CATALINA_OPTS -XX:HeapDumpPath=/usr/local/tomcat/logs"
export CATALINA_OPTS="$CATALINA_OPTS -XX:OnOutOfMemoryError=\"/usr/local/tomcat/bin/restartTomcat.sh\""
Recommended Posts