【问题标题】:Tomcat 8 -XX:OnOutOfMemoryError unable to restart TomcatTomcat 8 -XX:OnOutOfMemoryError 无法重启 Tomcat
【发布时间】:2022-10-22 23:55:24
【问题描述】:

发生 OOM 时,我无法自动重启 Tomcat 实例。 我尝试了几个不同版本的定义 XX:OnOutOfMemoryError 值:

-XX:OnOutOfMemoryError='kill -9 %p;/application/tomcat/bin/start.sh'"
-XX:OnOutOfMemoryError='kill -9 %p;./application/tomcat/bin/start.sh'"
-XX:OnOutOfMemoryError="kill -9 %p;cd /application/tomcat8/bin/;./application/tomcat8/bin/start.sh"

但无论我尝试什么,start.sh 脚本都不会执行,catalina.out 显示:

# java.lang.OutOfMemoryError: Java heap space
# -XX:OnOutOfMemoryError="kill -9 %p;/application/tomcat8/bin/start_commons.sh"
#   Executing /bin/sh -c "kill -9 28005"...

Tomcat 实例被成功杀死,但随后什么也没有发生。

有任何想法吗?

【问题讨论】:

    标签: out-of-memory tomcat8 restart


    【解决方案1】:

    唯一真正有效的是添加 XX:OnOutOfMemoryError 如下:

    export CATALINA_OPTS="-Xms512m -Xmx1024m -XX:OnOutOfMemoryError='kill -9 %p' "
    

    并有一个单独的脚本检查进程是否仍在运行,如果没有重新启动 Tomcat 实例。

    【讨论】:

      猜你喜欢
      • 2015-01-10
      • 2015-11-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-01
      • 2015-04-17
      • 2016-04-22
      相关资源
      最近更新 更多