XX:setenv.sh上的OnOutOfMemoryError

时间:2013-09-02 11:32:21

标签: jvm out-of-memory tomcat5.5

我想设置一个自动重启服务器的脚本。

我将以下代码写入setenv.sh文件

JAVA_OPTS="$JAVA_OPTS -XX:OnOutOfMemoryError=/usr/local/apache-tomcat-5.5.30/bin/shutdown.sh;/usr/local/apache-tomcat-5.5.30/bin/startup.sh;"

它无法正常工作。 我正在使用tomcat 5

2 个答案:

答案 0 :(得分:0)

回答你的问题 - 我不认为错误处理程序可以运行多个命令。如果要执行此操作,请编写一个小的重新启动脚本并运行自定义脚本。

但是,我会再考虑一下。并非每个OutOfMemoryError都意味着应该自动重启服务器。你最好得到一个通知,然后分析服务器来获取OOME的原因,这样你就可以摆脱它。

P.S 有没有理由使用旧的tomcat 5.5? tomcat 7已经相当成熟了。

答案 1 :(得分:0)

使用 CATALINA_OPTS 代替

CATALINA_OPTS="${CATALINA_OPTS} -XX:OnOutOfMemoryError=\"/bin/sleep 30;/bin/kill %p; /bin/sleep 60; /bin/kill -9 %p\""