java - 使用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级别的问题还是因为我的代码最近发生了任何变化。
请帮助我。如果有任何输入,请告诉我..
提前致谢
解决方案
推荐阅读
- asp.net-core - 插入时创建的重复外键条目 - EF Core 和 Web Api 3.1
- vb.net - VS 2019 中使用 VB.NET 的 Linq to SQL - 左外连接?
- python - 无法使用 Librosa 在 Heroku 上打开音频文件
- r - 如何简化 R 中的代码(正态性检验):1 行或 2 行代码中的不同样本大小?
- sql - SQL Server - 行的最小值
- python - 在python中搜索字典前缀
- c++ - 这是分段错误吗?
- python-3.x - 如何设置按钮仅在两行编辑输入小部件包含文本时才有效
- android - 在颤振/飞镖中获取 youtube 视频详细信息
- shopify - Shopify - 如何在应用程序中扩展结帐页面?