tomcat突然宕机问题解决方案

tomcat突然宕机问题解决方案一.tomcat突然宕机时间2019年10月19号8点30分51秒,xxxx系统生产环境的92机器出现tomcat突然宕机问题。二.问题定位1.排查tomcat的启停日志。在文件tomcat/logs/localhost.xxxx.log,排查tomcat的启停日志正常。在宕机时刻,有关闭日志输出。2.使用history命令,查看系统的操作命令。发现使用‘./bi…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

一.tomcat突然宕机时间

         2019年10月19号8点30分51秒,xxxx系统生产环境的92机器出现tomcat突然宕机问题。

二.问题定位

1.排查tomcat的启停日志。在文件tomcat/logs/localhost.xxxx.log,排查tomcat的启停日志正常。在宕机时刻,有关闭日志输出。

2.使用history命令,查看系统的操作命令。发现使用‘./bin/startup.sh & tail –f logs/catalina.out’的启动命令,并没有任何kill命令和shutdown命令。

3.排查tomcat的运行日志。在文件tomcat/logs/catalina.out中,找到tomcat宕机的时间点的日志,发现没有收到shutdown port的日志。而正常收到shutdown port 命令的会输出日志“org.apache.catalina.core.StandardServer.await A valid shutdown command was received via the shutdown port. Stopping the Server instance.”。

4.排查项目的异步日志文件输出,在宕机时间点,所有接口请求正常,响应正常,有接口请求日志输出,有响应日志输出。

         5.经过在网上搜索资料发现。使用‘&’字符命令方式。如果此时,未关闭日志输出,而直接关闭ssh终端,会杀掉最后一行命令‘./bin/startup.sh & tail –f logs/catalina.out’所影响的两个进程,即tomcat的进程和查看日志进程。此时导致了tomcat关闭,出现了突然宕机。

三.场景复现步骤

1.正常关闭tomcat应用,在tomcat运行日志中输出“org.apache.catalina.core.StandardServer.await A valid shutdown command was received via the shutdown port. Stopping the Server instance.”。

2.使用“‘./bin/startup.sh & tail –f logs/catalina.out’”命令启动tomcat,项目正常启动,并打开了日志输出。

3.直接关闭ssh终端。

4.打开ssh终端,并查看tomcat的启停日志文件,发现在关闭ssh终端的同时,tomcat应用被关闭。

5.查看tomcat的运行日志,发现在关闭时刻,没有输出“shutdown port”的日志。

6.使用‘./bin/startup.sh’启动tomcat。此时关闭终端。

7.打开ssh终端,tomcat正常提供服务。

经上述步骤验证。在使用“&”字符并列命令是,会开启多个进程。此时直接关闭ssh终端,则会关闭上述的多个进程。

如下图。正常使用“shutdown”命令关闭tomcat的日志输出。

tomcat突然宕机问题解决方案

 

四.解决方案

         1.tomcat启动时,尽量不使用“&”字符并列命令。如果使用了,必须先退出当前终端窗口后,再关闭SSH终端。

         2.tomcat启动使用单命令“startup.sh”。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/159394.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 正版ST-link/V2 J-LINK JTAG/SWD引脚定义和注意事项

    正版ST-link/V2 J-LINK JTAG/SWD引脚定义和注意事项重点来了:当板子上没有JTAG接口时,我们可以使用SWD接线方式,以前使用盗版的ST-link时,只需要四根线(SWIO,SWCLK,3V3,GND)就可以轻松实现目标板连接,简单小巧,可谓是嵌入式攻城狮的最爱!但是换成正版的ST-link/V2,还是四线(SWIO,SWCLK,3V3,GND)连接的话,就会出现Notargetconnected的问题别着急,慢慢来…

    2022年6月10日
  • 解决github下载慢及–recursive慢的问题(亲测好用)[通俗易懂]

    在gitclone的地址,例如https://github.com/pytorch/pytorch,改为https://gitclone.com/github.com/pytorch/pytorch,也即加上前缀gitclone.com,然后就可以愉快的下载了(亲测有效)。对于子模块,可以先不要在gitclone的时候加上–recursive,等主体部分下载完之后,该文件夹中有个隐藏文件称为:.gitmodules,把子项目中的url地址同样加上gitclone.com前缀,然后利用gits..

    2022年4月12日
  • Matlab 计算均方误差MSE的三种方法

    Matlab 计算均方误差MSE的三种方法Matlab计算均方误差MSE的三种方法数据说明:ytest测试集y,真实的y值,是一维数组;ytest_fit基于测试集x预测的y值,是一维数组;test_error是预测误差。第一种方法直接使用matlab中的mse函数,亲测可用。/*ytest测试集y,真实的y值,是一维数组ytest_fit预测的y值,是一维数组test_error是预测误差*/test_error=ytest-ytest_fit;test_mse=mse(test_er

    2022年9月30日
  • 最优模型选择的准则:AIC、BIC准则

    最优模型选择的准则:AIC、BIC准则选择最优模型的指导思想是从两个方面去考察:一个是似然函数最大化,另一个是模型中的未知参数个数最小化。似然函数值越大说明模型拟合的效果越好,但是我们不能单纯地以拟合精度来衡量模型的优劣,这样回导致模型中未知参数越来越多,模型变得越来越复杂,会造成过拟合。所以一个好的模型应该是拟合精度和未知参数个数的综合最优化配置。AIC准则AIC准则是由日本统计学家Akaike与1973年提出的,全称是最小…

    2022年5月10日
  • 检查网站有没有被挂马_安全网址检测

    检查网站有没有被挂马_安全网址检测介绍很多网站都被挂过马,挂马即在获取服务器的部分权限或所有权限后,向网页文件中插入一段恶意代码,即挂马。这些恶意代码可以是浏览器漏洞的利用代码,也可以是赚取流量的代码,或者是盗取账号的代码。URLSnooperurlsnooper字面理解即url窥探,官方说明是可以帮助用户发现音频和视频文件的url地址。下载地址是http://www.donationcoder.com/softw…

    2022年9月30日
  • 计算机快捷键任务管理器,任务管理器快捷键,小编教你电脑如何打开任务管理器…

    计算机快捷键任务管理器,任务管理器快捷键,小编教你电脑如何打开任务管理器…很多时候,我们需要用到任务管理器,通过系统中自带的任务管理器,我们可以查看到当前运行的应用程序、进程、硬件使用情况等。对于电脑小白来说,不知道任务管理器怎么打开,因此,小编给大家整理这篇打开任务管理器的图文。电脑系统的任务管理器是Windows提供有关计算机性能的信息,并显示了计算机上所运行的程序和进程的详细信息,从这里可以查看到当前系统的进程数、CPU使用比率、更改的内存、容量等数据。那么,任务…

    2022年6月18日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号