Linux - Centos 7 - 关于 Tomcat 无故自动退出关闭服务问题 - 查看日志后,无任何具体error报错日志,不经 shutdown 文件,直接退出

序言

笔者认为大致内存问题,或者是 server.xml 文件内的 docBase 配置问题,但内存问题看参考资料写的,说是会报 out of memory 等 error 问题,可是笔者没看到类似 out of memory,tomcat 服务器都是直接自动退出的,tomcat 服务器的每一个日志都看不出任何具体的 error 问题所在,所以只能靠摸索验证。

问题位置 1

配置内存,比如当前内存剩余 ≤ 2G,那么不应该配置 ≥ 2G 的内存。

bash 查看内存命令:

free -h

启动文件修改

Windows 系统没遇到过这种问题,不清楚是否可以,自行测试。

windows环境下,tomcat下的~/bin/catalina.bat文件,在文件头部加入:
set “JAVA_OPTS=%JAVA_OPTS% -server -Xms5120m -Xmx10240m -XX:PermSize=640M -XX:MaxPermSize=2560m”

linux环境下,tomcat下的~/bin/catalina.sh文件,在文件头部加入: JAVA_OPTS=“$JAVA_OPTS
-server -Xms4096m -Xmx6144m -XX:PermSize=256m -XX:MaxPermSize=2048m” 重启tomcat,即可。

配置演示:

在这里插入图片描述

Linux 配置:

重点是 -XX:MaxNewSize=512m -XX:MaxPermSize=512m ,如果内存小于 500M 那么,也会无法启动 tomcat 服务器的,所以需要修改为小于内存的配置,比如 300M 内存,那么需要配置为 200M 。

Linux 1G 的内存配置:

JAVA_OPTS="$JAVA_OPTS -server -Xms1024m -Xmx6000m -Xss1024K -XX:MaxNewSize=512m  -XX:MaxPermSize=512m"

Linux 2G 的内存配置:

JAVA_OPTS="$JAVA_OPTS -server -Xms2048m -Xmx6000m -Xss1024K -XX:MaxNewSize=512m  -XX:MaxPermSize=512m"

Linux 4G 的内存配置:(感觉这个好像也不太行,笔者是配置 1G 的,问题才解决,当然具体问题具体分析,如果剩余内存剩下 3G ,那么可以配置为 2G 的。不过如果内存变化太大,在不影响性能的前提下,建议配置 1G 内存。)

JAVA_OPTS="$JAVA_OPTS -server -Xms4096m -Xmx6144m -XX:PermSize=256m -XX:MaxPermSize=2048m"

问题位置 2

server.xml 配置的 docBase 路径问题,笔者之前看到了一些配置是指向 .war 文件的,笔者也跟着配置指向 .war 文件,后面察觉有些日志有一些 No Spring WebApplicationInitializer types detected on classpath

感觉应该有些问题,不放过任何可能的迹象。

搜了一下,说是找不到具体的 xml 配置问题,看到这里,反应过来了,之前资料说 tomcat 是通过解压 .war 文件,对解压后的文件夹,监听某个端口,来进行 webapps 内应用的服务,所以,是不是笔者,对于指向 .war 文件,其实是一个会让 tomcat 找不到具体的 .xml 或者 jar 服务文件(即 jar 包)的问题,所以笔者就修改了指向,.war 解压后的文件夹名,而且还是绝对路径的。

总结

看到这里,笔者是两个问题一起解决,所以后面也不会出现刚启动没多久,tomcat 就自动退出,导致 web 服务卡在某个地方,然后得重启 tomcat 服务器。
后面笔者觉得,其实 docBase 的路径指向为 .war 文件,应该是没问题,但是指向为文件夹,是比较逻辑正确的,毕竟指向压缩包,在笔者看来其实是比较不合理的。


参考链接

1. JAVA_OPTS设置

2. tomcat自动关闭了。

3. tomcat下的server.xml文件和context.xml (转)

4. tomcat部署应用时设置context path为空的上下文路径问题
5. Tomcat进程意外退出的问题分析

6. TOMCAT异常退出分析和解决方法

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值