2 Replies Latest reply on Aug 19, 2015 4:39 AM by Sreekanth Munarai

    Tdump Analysis

    Sreekanth Munarai Master

      Hi 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