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/11/03 15:23:18 UTC
[jira] [Closed] (LOG4J2-414) Async all loggers cause OutOfMemory
error in log4j-2.0-beta9
[ https://issues.apache.org/jira/browse/LOG4J2-414?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Remko Popma closed LOG4J2-414.
------------------------------
> Async all loggers cause OutOfMemory error in log4j-2.0-beta9
> ------------------------------------------------------------
>
> Key: LOG4J2-414
> URL: https://issues.apache.org/jira/browse/LOG4J2-414
> Project: Log4j 2
> Issue Type: Bug
> Components: API, Core, log4j 1.2 emulation, SLF4J Bridge
> Affects Versions: 2.0-beta9
> Environment: linux core-4.0, java version: 1.7.0_17, memory: 8G, CPU: 2 cores, Intel (R) Xeon(R), startup options: -Xms64m -Xmx2048m -XX:MaxPermSixe=256m
> Reporter: Yiru Li
>
> 1. Problem description:
> The main function of my company's system is to read a file and then do calculation. The system has been using log4j1.2. We intend to switch to log4j2. The problem is found when we are doing evaluation on log4j2.
>
> Using the log4j2.xml described below , setting all loggers being synchronous, there is no problem to ran a 30k-row-long file through the system.
> With setting all loggers being asynchronous, there is no problem to run a small file (10-row-long) through the system, but the OutOfMemory error (heap space) is caused when the system runs a little larger file (3k-row-long). The error message is:" SEVERE: Exception processing: 781134 org.apache.logging.log4j.core.async.RingBufferLogEvent@4f6f399c
> java.lang.OutOfMemoryError: Java heap space"
> Then I increased Xmx to 4048m, the error message shown is little different: "SEVERE: Exception processing: 775221 org.apache.logging.log4j.core.async.RingBufferLogEvent@1c6b80a9
> java.lang.OutOfMemoryError: GC overhead limit exceeded"
> The same issue is repeated whenever the system runs a 3k-long file. I don't know how you can repeat this issue in your site.
>
> 2. start-up options
> -Xms64m -Xmx4048m -XX:MaxPermSize=256m -server $PARAM -Djava.security.egd=file:/dev/./urandom -DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector -Dlog4j.debug
> 3. The relevant jars which is deployed to our system:
> slf4j-api-1.6.6.jar
> log4j-slf4j-impl-2.0-beta9.jar
> log4j-1.2-api-2.0-beta9.jar
> log4j-api-2.0-beta9.jar
> log4j-core-2.0-beta9.jar
> disruptor-3.2.0.jar
> 4. the content of log4j2.xml is copied below:
> {code}
> <?xml version="1.0" encoding="UTF-8"?>
> <Configuration>
> <Appenders>
> <!-- Appender R -->
> <RollingFile name="R" fileName="/logs4j2/tpaeventsystem/log4j/STACBatch-Common.log"
> filePattern="/logs-4j2/tpaeventsystem/log4j/$${date:yyyy-MM}/STACBatch-Common-%d{MM-dd-yyyy}-%i.log.gz"
> append="true" bufferedIO="true" immediateFlush="true" >
> <PatternLayout pattern="(%d), %X{FILEID}, %X{HostName}, STACBatch-Common, %m %t %n"/>
> <Policies>
> <SizeBasedTriggeringPolicy size="10 MB"/>
> </Policies>
> <DefaultRolloverStrategy max="50"/>
> </RollingFile>
>
> <!-- Appender FileProcessor -->
> <RollingFile name="FileProcessor" fileName="/logs-4j2/tpaeventsystem/log4j/STACBatch-FileProcessor.log"
> filePattern="/logs-4j2/tpaeventsystem/log4j/$${date:yyyy-MM}/STACBatch-FileProcessor-%d{MM-dd-yyyy}-%i.log.gz"
> append="true" bufferedIO="true" immediateFlush="true">
> <PatternLayout pattern="(%d), %X{FILEID}, %X{HostName}, STACBatch-FileProcessor, %m %t %n"/>
> <Policies>
> <SizeBasedTriggeringPolicy size="10 MB"/>
> </Policies>
> <DefaultRolloverStrategy max="50"/>
>
> </RollingFile>
>
> <!-- Appender FTPProcessor -->
> <RollingFile name="FTPProcessor" fileName="/logs-4j2/tpaeventsystem/log4j/STACatch-FTPProcessor.log"
> filePattern="/logs-4j2/tpaeventsystem/log4j/$${date:yyyy-MM}/STACBatch-FTPProcessor-%d{MM-dd-yyyy}-%i.log.gz"
> append="true" bufferedIO="true" immediateFlush="true">
> <PatternLayout pattern="(%d), %X{HostName}, STACBatch-FTPProcessor, %m %t %n"/>
> <Policies>
> <SizeBasedTriggeringPolicy size="10 MB"/>
> </Policies>
> <DefaultRolloverStrategy max="50"/>
> </RollingFile>
>
> <!-- Appender Email -->
> <RollingFile name="Email" fileName="/logs-4j2/tpaeventsystem/log4j/STACBatch-Email.log"
> filePattern="/logs-4j2/tpaeventsystem/log4j/$${date:yyyy-MM}/STACBatch-Email-%d{MM-dd-yyyy}-%i.log.gz"
> append="true" bufferedIO="true" immediateFlush="true">
> <PatternLayout pattern="(%d), %X{FILEID}, %X{HostName}, STACBatch-Email, %m %t %n"/>
> <Policies>
> <SizeBasedTriggeringPolicy size="10 MB"/>
> </Policies>
> <DefaultRolloverStrategy max="50"/>
> </RollingFile>
>
> <!-- Appender Security -->
> <RollingFile name="Security" fileName="/logs-4j2/tpaeventsystem/log4j/STACBatch-Security.log"
> filePattern="/logs-4j2/tpaeventsystem/log4j/$${date:yyyy-MM}/STACBatch-Security-%d{MM-dd-yyyy}-%i.log.gz"
> append="true" bufferedIO="true" immediateFlush="true">
> <PatternLayout pattern="(%d), %X{FILEID}, %X{HostName}, STACBatch-Security, %m %t %n"/>
> <Policies>
> <SizeBasedTriggeringPolicy size="10 MB"/>
> </Policies>
> <DefaultRolloverStrategy max="50"/>
> </RollingFile>
>
> <!-- Appender PerformanceStatus -->
> <RollingFile name="PerformanceStatus" fileName="/logs-4j2/tpaeventsystem/log4j/STACBatch-PerfMonitoring.log"
> filePattern="/logs-4j2/tpaeventsystem/log4j/$${date:yyyy-MM}/STACBatch-PerfMonitoring-%d{MM-dd-yyyy}-%i.log.gz"
> append="true" bufferedIO="true" immediateFlush="true">
> <PatternLayout pattern="(%d)|%m%n"/>
> <Policies>
> <SizeBasedTriggeringPolicy size="10 MB"/>
> </Policies>
> <DefaultRolloverStrategy max="50"/>
> </RollingFile>
>
> <!-- Appender EventSystem -->
> <RollingFile name="EventSystem" fileName="/logs-4j2/tpaeventsystem/log4j/STACBatch-EventSystem.log"
> filePattern="/logs-4j2/tpaeventsystem/log4j/$${date:yyyy-MM}/STACBatch-EventSystem-%d{MM-dd-yyyy}-%i.log.gz"
> append="true" bufferedIO="true" immediateFlush="true">
> <PatternLayout pattern="(%d), %X{FILEID}, %X{HostName}, STACBatch-EventSystem, %m %t %n"/>
> <Policies>
> <SizeBasedTriggeringPolicy size="10 MB"/>
> </Policies>
> <DefaultRolloverStrategy max="50"/>
> </RollingFile>
> </Appenders>
>
> <Loggers>
> <Logger name="com.envisagesystems.database" level="ERROR" >
> <AppenderRef ref="R" />
> </Logger>
>
> <Logger name="com.envisagesystems.util.fileprocessor" level="DEBUG" >
> <AppenderRef ref="FileProcessor" />
> </Logger>
>
> <Logger name="com.envisagesystems.cloud.workflow.eventsystem.ftp" level="DEBUG">
> <AppenderRef ref="FTPProcessor" />
> </Logger>
>
> <Logger name="com.envisagesystems.util.ftp" level="DEBUG">
> <AppenderRef ref="FTPProcessor" />
> </Logger>
>
> <Logger name="com.envisagesystems.util.email" level="DEBUG">
> <AppenderRef ref="Email" />
> </Logger>
>
> <Logger name="com.envisagesystems.cloud.workflow.eventsystem" level="DEBUG" >
> <AppenderRef ref="EventSystem" />
> </Logger>
>
> <Logger name="com.envisagesystems.cloud.workflow.eventsystemmq" level="DEBUG" >
> <AppenderRef ref="EventSystem" />
> </Logger>
>
> <Logger name="com.envisagesystems.cloud.workflow.eventsystem.tiaa" level="DEBUG">
> <AppenderRef ref="EventSystem" />
> </Logger>
>
> <Logger name="com.envisagesystems.security" level="DEBUG">
> <AppenderRef ref="Security" />
> </Logger>
>
> <Logger name="com.envisagesystems.stac" level="INFO">
> <AppenderRef ref="R" />
> </Logger>
>
> <Logger name="STATUS_UPDATES" level="INFO">
> <AppenderRef ref="PerformanceStatus" />
> </Logger>
> <!-- ROOT CONFIG -->
> <Root level="DEBUG">
> <AppenderRef ref="R" />
> </Root>
> </Loggers>
> </Configuration>
> {code}
--
This message was sent by Atlassian JIRA
(v6.1#6144)
---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-dev-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-dev-help@logging.apache.org