首页 > 解决方案 > 使用Tomcat部署的应用程序,在某个时间点停止并且用户无法登录

问题描述

这是问题:我的 Web 应用程序是使用 apache-tomcat-7.0.30 部署的。该应用程序运行了大约 10 个小时,但突然间用户无法登录。

问题分析:
1. 可以发现catalina.out 或任何日志中都没有生成日志。
2.java进程显示为正在运行。
3. 使用 TOP 命令验证内存使用情况,没有发现内存问题。
4.检查整个日志“内存不足”、“打开的文件太多”、任何“Sql Exception”或“Hibernate Exception”,但找不到此类问题。

在应用程序中,我们覆盖了 log4j,因此大多数日志都在 catalina.out 中生成。当 catalina.out 的大小超过 8-9 GB 时,我们看到了诸如“打开的文件过多”之类的问题,并且在极少数情况下超过 3 GB。我想知道这是否是一些内存泄漏问题?如果不是会推出 catalina.out 会纠正问题吗?

log4j.properties 配置详细信息如下,

# 使用 appender 文件定义根记录器 log4j.rootLogger = ALL , CONSOLE , LOG_FILE, BHC_TRACES

log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%d [%t] %-5p %x - %m%n
log4j.appender.CONSOLE.Threshold=WARN
log4j.logger.org.hibernate = ERROR
log4j.logger.com.mchange.v2 = ERROR
log4j.logger.org.springframework=INFO

#Summarised log file.
log4j.appender.LOG_FILE=org.apache.log4j.RollingFileAppender
log4j.appender.LOG_FILE.File=../logs/${logfile}.log
log4j.appender.LOG_FILE.Threshold=INFO
log4j.appender.LOG_FILE.MaxFileSize=5000KB
log4j.appender.LOG_FILE.MaxBackupIndex=10
log4j.appender.LOG_FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.LOG_FILE.layout.ConversionPattern=%d [%t] %-5p %x - %m%n

#detailed log file that lead to the traces
log4j.appender.BHC_TRACES=org.apache.log4j.RollingFileAppender
log4j.appender.BHC_TRACES.File=../logs/traces/trace.log
log4j.appender.BHC_TRACES.Threshold=ALL
log4j.appender.BHC_TRACES.MaxFileSize=5000KB
log4j.appender.BHC_TRACES.MaxBackupIndex=20
log4j.appender.BHC_TRACES.layout=org.apache.log4j.PatternLayout
log4j.appender.BHC_TRACES.layout.ConversionPattern=%d [%t] %-5p %x - %m%n

我在日志中没有看到任何特定的行告诉我或标记了这次关闭的原因。

任何人都可以帮助我如何进一步分析以确定它是VM级别的问题还是因为我的代码最近发生了任何变化。

请帮助我。如果有任何输入,请告诉我..                    

提前致谢

标签: javalinuxtomcat7

解决方案


推荐阅读