出现内存不足错误时自动重新启动tomcat

Aja*_*ain 3 java tomcat jvm tomcat7 tomee

当内存不足[OOME]错误时,如何配置Tomcat自动重新启动。

我认为

-XX:OnOutOfMemoryError="/yourscripts/tomcat-restart"
Run Code Online (Sandbox Code Playgroud)

但是不确定这里的“您的脚本”代表什么目录?

Bre*_*ken 5

您提供的值-XX:OnOutOfMemoryError必须是可执行文件的完全限定路径(可以是可执行脚本)。该脚本必须基本上立即返回,以便jvm可以继续和关闭。因此,它需要尝试在后台停止并启动tomcat。这可能会有效地产生2个脚本:

脚本1:

#!/bin/bash
script2.sh &
Run Code Online (Sandbox Code Playgroud)

脚本2:

# stop tomcat
# make sure it is dead (kill "zombie" process if necessary)
# start tomcat
Run Code Online (Sandbox Code Playgroud)

-XX:OnOutOfMemoryErrorshoudl点脚本1。