Tdump Analysis
sreekanth.munarai Aug 17, 2015 4:00 AMHi All,
Our Production environment runs on JBoss 7.1.1Final. As our end user were complaining regarding the slowness of Application, i have tried to take tdumps(thread dumps). Captured 4 tdumps in interval of 10sec. I have analyzed using tda analyzer and founded one of the below thread in blocked state common in all the tdumps relating to "logmanger" .
"pool-10-thread-1373" - Thread t@5259
java.lang.Thread.State: BLOCKED
at org.jboss.logmanager.handlers.WriterHandler.doPublish(WriterHandler.java:60)
- waiting to lock <64424296> (a java.lang.Object) owned by "pool-10-thread-1368" t@5232
at org.jboss.logmanager.ExtHandler.publish(ExtHandler.java:64)
at org.jboss.logmanager.LoggerNode.publish(LoggerNode.java:283)
at org.jboss.logmanager.LoggerNode.publish(LoggerNode.java:291)
at org.jboss.logmanager.LoggerNode.publish(LoggerNode.java:291)
at org.jboss.logmanager.LoggerNode.publish(LoggerNode.java:291)
at org.jboss.logmanager.Logger.logRaw(Logger.java:649)
at org.jboss.logmanager.Logger.log(Logger.java:600)
at org.jboss.logging.JBossLogManagerLogger.doLog(JBossLogManagerLogger.java:46)
at org.jboss.logging.Logger.logv(Logger.java:1954)
at org.hibernate.internal.CoreMessageLogger_$logger.tracev(CoreMessageLogger_$logger.java:438)
at org.hibernate.type.descriptor.sql.BasicExtractor.extract(BasicExtractor.java:72)
at org.hibernate.type.AbstractStandardBasicType.nullSafeGet(AbstractStandardBasicType.java:269)
at org.hibernate.type.AbstractStandardBasicType.nullSafeGet(AbstractStandardBasicType.java:265)
at org.hibernate.type.AbstractStandardBasicType.nullSafeGet(AbstractStandardBasicType.java:238)
at org.hibernate.loader.hql.QueryLoader.getResultRow(QueryLoader.java:423)
at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:668)
at org.hibernate.loader.Loader.doQuery(Loader.java:856)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:289)
at org.hibernate.loader.Loader.doList(Loader.java:2463)
at org.hibernate.loader.Loader.listUsingQueryCache(Loader.java:2308)
at org.hibernate.loader.Loader.list(Loader.java:2271)
at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:470)
at org.hibernate.hql.internal.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:355)
at org.hibernate.engine.query.spi.HQLQueryPlan.performList(HQLQueryPlan.java:196)
at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1115)
at org.hibernate.internal.QueryImpl.list(QueryImpl.java:101)
Is the above thread related logging I/O? Which has to be solved in JBoss level?if yes, how can i resolve this block?
Please find the below overall analysis.
Overall Thread Count | 331 | |
Overall Monitor Count | 243 | |
Number of threads waiting for a monitor | 2 | |
Number of threads locking a monitor | 32 | |
Number of threads sleeping on a monitor | 256 | |
Number of deadlocks | 0 | |
Number of Monitors without locking threads | 23 | |
77% of all threads are sleeping on a monitor. |
Can anyone please shed some light on what is "Threads locking on monitor and Threads sleeping on Monitor"?What does they mean? Do this locking and sleeping threads have impact on Performance?
Please Advise how can i boost up my application performance. Thanks in advance.
Regards,
Sreekanth