【问题标题】:Log4j2.0 Asynchronous loggers causes OutOfMemory Java heap spaceLog4j2.0 异步记录器导致 OutOfMemory Java 堆空间
【发布时间】:2013-09-30 21:28:38
【问题描述】:

我通过设置系统将我公司的系统配置为使所有记录器异步 属性Log4jContextSelectororg.apache.logging.log4j.core.async.AsyncLoggerContextSelector。我们使用 log4j 2.0。

当我通过系统运行一个小的输入文件时没有问题。但是当我运行一个更大的输入文件时(我们的系统应该运行比这个大得多的文件),OutOfMemoryError 是导致的。资料如下:

SEVERE: Exception processing: 14451294 org.apache.logging.log4j.core.async.RingB  ufferLogEvent@226dc6bf
java.lang.OutOfMemoryError: Java heap space

然后我将最大堆大小增加到 4 gigs(总物理内存为 8G),导致另一个问题:

SEVERE: Exception processing: 775221 org.apache.logging.log4j.core.async.RingBufferLogEvent@1c6b80a9
java.lang.OutOfMemoryError: GC overhead limit exceeded

【问题讨论】:

  • 你在审计什么吗?如果可能的话,你可以发布一个示例代码吗?

标签: java asynchronous logging out-of-memory log4j2


【解决方案1】:

Log4J 团队意识到这一点:https://issues.apache.org/jira/browse/LOG4J2-414


2018 年 2 月 2 日更新:

原始问题和上述 JIRA 票证是 5 年前针对 Log4j 2.0-beta9 提出的。

这是多年以后的事了。 Log4j2 社区即将发布 Log4j 2.11。自 2.0-beta 9 版本以来,已修复了几个内存泄漏错误。

如果有人在使用最新版本的 Log4j2 时遇到此问题,请提出新的 JIRA 票证,因为这不应该发生。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-16
    • 1970-01-01
    • 2014-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多