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