Remko Popma created LOG4J2-304:
----------------------------------

             Summary: Async Loggers cause excessive memory usage and GC pauses
                 Key: LOG4J2-304
                 URL: https://issues.apache.org/jira/browse/LOG4J2-304
             Project: Log4j 2
          Issue Type: Bug
          Components: Core
            Reporter: Remko Popma
            Assignee: Remko Popma
             Fix For: 2.0-beta9


Log events (or log event attributes) are put in the ring buffer, but are never 
removed. The ring buffer keeps a reference to these objects until it wraps 
around and the same slot is re-used for another log event.

This means that:
* the memory used by the log events cannot be GC-ed until the ring buffer wraps
* by the time the ring buffer wraps, the objects almost certainly have been 
promoted to the old generation, where they may cause heap fragmentation 
resulting in long pauses when the GC compacts the heap.

The solution is to clear the ring buffer references immediately after the log 
event has been fully processed.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to