5

我将我公司的系统配置为通过将系统属性设置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
4

1 回答 1

2

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 票,因为这不应该发生。

于 2013-10-01T23:11:43.907 回答