5

Log4jContextSelectorシステム プロパティを に設定して、すべてのロガーが非同期になるように会社のシステムを構成しますorg.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 ギガ (物理メモリの合計は 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 に答える