logging-log4j-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Remko Popma (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (LOG4J2-940) Large number of RUNNABLE threads at "AsyncLoggerConfig.callAppenders" causing High CPU
Date Thu, 26 Feb 2015 11:10:04 GMT

    [ https://issues.apache.org/jira/browse/LOG4J2-940?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14338242#comment-14338242
] 

Remko Popma commented on LOG4J2-940:
------------------------------------

Siva, Srinivas, is this still an issue?
One idea that may work well in your specific use case (with 140+ appenders and log files):
you can try using synchronous logging instead of asynchronous logging. That way the I/O work
is distributed over your application threads which may give better parallelization. 

> Large number of RUNNABLE threads at "AsyncLoggerConfig.callAppenders" causing High CPU
> --------------------------------------------------------------------------------------
>
>                 Key: LOG4J2-940
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-940
>             Project: Log4j 2
>          Issue Type: Bug
>          Components: Appenders
>    Affects Versions: 2.0-rc2
>         Environment: RHEL 6.2
> Apache Tomcat 7
> Java 7
>            Reporter: Siva B
>
> 336 threads are in RUNNING state with below stack trace causing the JVM to consume more
CPU.
> "ajp-bio-15024-exec-138" daemon prio=10 tid=0x00007f5870046000 nid=0x52d7 runnable [0x00007f5921f56000]
>    java.lang.Thread.State: TIMED_WAITING (parking)
> 	at sun.misc.Unsafe.park(Native Method)
> 	at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:349)
> 	at com.lmax.disruptor.MultiProducerSequencer.next(MultiProducerSequencer.java:133)
> 	at com.lmax.disruptor.MultiProducerSequencer.next(MultiProducerSequencer.java:102)
> 	at com.lmax.disruptor.RingBuffer.publishEvent(RingBuffer.java:466)
> 	at org.apache.logging.log4j.core.async.AsyncLoggerConfigHelper.callAppendersFromAnotherThread(AsyncLoggerConfigHelper.java:342)
> 	at org.apache.logging.log4j.core.async.AsyncLoggerConfig.callAppenders(AsyncLoggerConfig.java:111)
> 	at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:407)
> 	at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:365)
> 	at org.apache.logging.log4j.core.Logger.logMessage(Logger.java:103)
> 	at org.apache.logging.log4j.spi.AbstractLogger.logMessage(AbstractLogger.java:1336)
> 	at org.apache.logging.log4j.spi.AbstractLogger.logIfEnabled(AbstractLogger.java:1325)
> 	at org.apache.logging.log4j.spi.AbstractLogger.log(AbstractLogger.java:1237)



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-dev-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-dev-help@logging.apache.org


Mime
View raw message