You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4j-dev@logging.apache.org by "Remko Popma (JIRA)" <ji...@apache.org> on 2013/07/12 00:03:48 UTC

[jira] [Resolved] (LOG4J2-304) Async Loggers cause excessive memory usage and GC pauses

     [ https://issues.apache.org/jira/browse/LOG4J2-304?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Remko Popma resolved LOG4J2-304.
--------------------------------

    Resolution: Fixed

Fixed in revision 1502380.
                
> 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: log4j-dev-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-dev-help@logging.apache.org