linux下平台大量输出日志的问题排查

tomcat大量输出日志的问题排查:

  1. 检查是否由于tomcat通过shutdown命令关闭的时候,还残留有tomcat的进程
  2. 检查是否由于pg的jdbc驱动程序包造成
  3. 检查是否由于pg数据库连接不上造成

问题现象及日志文件:

现象:tomcat日志文件catalina.log一直在增长,同时平台却能正常访问。

日志重要部分截图:

原因查找:

通过tomcat通过shutdown命令关闭的时候出现错误:

同时通过命令:ps -ef | grep tomcat 发现tomcat进程发现没有完全关闭。

解决参考文章:解决linux下tomcat的shutdown命令杀不死进程_linux tomcat 杀不死-CSDN博客

问题原因猜想:

一般造成这种原因是因为项目中有非守护线程的存在,在tomcat关闭的时候会抛出这样的错误信息,同时导致进程未完全关闭。未关闭的进程会继续运行,并且会一直报错,一直往tomcat的日志文件中输出日志,导致日志文件一直在增大。

解决思路就是在tomcat进行关闭的后,再将项目残余的进程的彻底杀掉。但这种解决方法并未从程序根本上将这个问题解决掉。

解决:

vim修改tomcat下bin/catalina.sh文件,在127行左右添加点东西,主要是记录tomcat的pid,如下:

#设置记录CATALINA_PID。

#该设置会在启动时候bin下新建一个CATALINA_PID文件

#关闭时候从CATALINA_PID文件找到pid,kill。。。同时删除CATALINA_PID文件

if [ -z "$CATALINA_PID" ]; then

CATALINA_PID=$PRGDIR/CATALINA_PID

fi

vim 编辑tomcat的shutdown.sh文件,在最后一行加上-force

修改后的效果:

相关推荐

  1. Android|记一个导致 logback 无法输出问题

    2024-07-13 18:34:03       30 阅读
  2. linux环境使用logrotate切分nginx

    2024-07-13 18:34:03       19 阅读
  3. Linux

    2024-07-13 18:34:03       41 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-13 18:34:03       52 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-13 18:34:03       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-13 18:34:03       45 阅读
  4. Python语言-面向对象

    2024-07-13 18:34:03       55 阅读

热门阅读

  1. jmeter文件下载接口处理

    2024-07-13 18:34:03       19 阅读
  2. python库 - modelscope

    2024-07-13 18:34:03       18 阅读
  3. C语言 求方程 ax^2 + bx + c = 0 的根

    2024-07-13 18:34:03       15 阅读
  4. 第一节 SHELL脚本中的常用命令(6)

    2024-07-13 18:34:03       16 阅读
  5. bert训练的一些技巧(rand() < self.skipgram_prb)

    2024-07-13 18:34:03       16 阅读
  6. Dubbo 负载均衡(Load Balance)

    2024-07-13 18:34:03       16 阅读
  7. 编译的艺术:在Gradle中精调编译器选项

    2024-07-13 18:34:03       19 阅读
  8. 如何防御sql注入攻击

    2024-07-13 18:34:03       17 阅读