tomcat大量输出日志的问题排查:
- 检查是否由于tomcat通过shutdown命令关闭的时候,还残留有tomcat的进程
- 检查是否由于pg的jdbc驱动程序包造成
- 检查是否由于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
修改后的效果: