当出现内存错误时自动重启tomcat

时间:2014-07-16 12:41:23

标签: java tomcat jvm tomcat7 tomee

如何在内存不足[OOME]错误时将Tomcat配置为自动重启。

我认为

-XX:OnOutOfMemoryError="/yourscripts/tomcat-restart"

但不确定这里" yourscripts"代表什么目录?

1 个答案:

答案 0 :(得分:4)

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

脚本1:

#!/bin/bash
script2.sh &

脚本2:

# stop tomcat
# make sure it is dead (kill "zombie" process if necessary)
# start tomcat

-XX:OnOutOfMemoryError shoudl指向脚本1。