如何解释这个线程转储?

时间:2014-08-07 07:51:19

标签: java multithreading jstack

我在linux服务器上运行了一个应用程序。以下是有关申请的一些细节 它基于spring 3,quartz 1.6.1和httpclient 4.1.2来解析页面。
基本上它的工作将在一小时内运行1或12次(大多数是每小时一次)。
3.所有并发使用的默认值。
我的问题是工作偶尔停止运行。这个问题上个月发生过两次。当上次提出这个问题时,我做了这些事情:
1.检查进度和日志。进展仍然存在。但是所有的商业日志已经停止了很长时间的写作 2.检查了gc日志,它似乎没问题。
3.使用jstack导出此进度的线程转储。
虽然我得到了线程转储,但我不知道如何解释它。有人可以帮我这个吗?
最好的问候

以下是线程转储的全部内容:

    2014-07-27 23:09:13
Full thread dump Java HotSpot(TM) 64-Bit Server VM (20.6-b01 mixed mode):

"Attach Listener" daemon prio=10 tid=0x000000005a9ba000 nid=0x5426 runnable [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

   Locked ownable synchronizers:
    - None

"RMI TCP Connection(idle)" daemon prio=10 tid=0x000000005ca59000 nid=0x5215 waiting on condition [0x0000000041efe000]
   java.lang.Thread.State: TIMED_WAITING (parking)
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for  <0x00000000ec44c338> (a java.util.concurrent.SynchronousQueue$TransferStack)
    at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:196)
    at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:424)
    at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:323)
    at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:874)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:945)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
    at java.lang.Thread.run(Thread.java:662)

   Locked ownable synchronizers:
    - None

"Multicast keep-alive Heartbeat Receiver thread-1414" daemon prio=10 tid=0x00002aaab9144800 nid=0x36f5 waiting on condition [0x0000000041c97000]
   java.lang.Thread.State: TIMED_WAITING (parking)
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for  <0x00000000ec43fbf0> (a java.util.concurrent.SynchronousQueue$TransferStack)
    at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:196)
    at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:424)
    at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:323)
    at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:874)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:945)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
    at java.lang.Thread.run(Thread.java:662)

   Locked ownable synchronizers:
    - None

"Multicast keep-alive Heartbeat Receiver thread-1412" daemon prio=10 tid=0x00002aaab80fd800 nid=0x23e2 waiting on condition [0x00000000407e7000]
   java.lang.Thread.State: TIMED_WAITING (parking)
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for  <0x00000000ec43fbf0> (a java.util.concurrent.SynchronousQueue$TransferStack)
    at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:196)
    at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:424)
    at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:323)
    at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:874)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:945)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
    at java.lang.Thread.run(Thread.java:662)

   Locked ownable synchronizers:
    - None

"RMI RenewClean-[127.0.0.1:47662,net.sf.ehcache.distribution.ConfigurableRMIClientSocketFactory@1d4c0]" daemon prio=10 tid=0x000000005b505000 nid=0x639a in Object.wait() [0x0000000040e83000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
    - locked <0x00000000ed259310> (a java.lang.ref.ReferenceQueue$Lock)
    at sun.rmi.transport.DGCClient$EndpointEntry$RenewCleanThread.run(DGCClient.java:516)
    at java.lang.Thread.run(Thread.java:662)

   Locked ownable synchronizers:
    - None

"RMI RenewClean-[127.0.0.1:41251,net.sf.ehcache.distribution.ConfigurableRMIClientSocketFactory@1d4c0]" daemon prio=10 tid=0x000000005b05d800 nid=0x3e97 in Object.wait() [0x0000000041f82000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
    - locked <0x00000000ec73c7c0> (a java.lang.ref.ReferenceQueue$Lock)
    at sun.rmi.transport.DGCClient$EndpointEntry$RenewCleanThread.run(DGCClient.java:516)
    at java.lang.Thread.run(Thread.java:662)

   Locked ownable synchronizers:
    - None

"RMI RenewClean-[127.0.0.1:39067,net.sf.ehcache.distribution.ConfigurableRMIClientSocketFactory@1d4c0]" daemon prio=10 tid=0x000000005a851000 nid=0x3d7b in Object.wait() [0x0000000041241000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x00000000ec43fc08> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
    - locked <0x00000000ec43fc08> (a java.lang.ref.ReferenceQueue$Lock)
    at sun.rmi.transport.DGCClient$EndpointEntry$RenewCleanThread.run(DGCClient.java:516)
    at java.lang.Thread.run(Thread.java:662)

   Locked ownable synchronizers:
    - None

"RMI RenewClean-[127.0.0.1:33990,net.sf.ehcache.distribution.ConfigurableRMIClientSocketFactory@1d4c0]" daemon prio=10 tid=0x000000005c657800 nid=0x3d79 in Object.wait() [0x0000000041cb8000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
    - locked <0x00000000ec43fab8> (a java.lang.ref.ReferenceQueue$Lock)
    at sun.rmi.transport.DGCClient$EndpointEntry$RenewCleanThread.run(DGCClient.java:516)
    at java.lang.Thread.run(Thread.java:662)

   Locked ownable synchronizers:
    - None

"RMI RenewClean-[127.0.0.1:29600,net.sf.ehcache.distribution.ConfigurableRMIClientSocketFactory@1d4c0]" daemon prio=10 tid=0x000000005c977800 nid=0x3d74 in Object.wait() [0x0000000041c76000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
    - locked <0x00000000ec43fae8> (a java.lang.ref.ReferenceQueue$Lock)
    at sun.rmi.transport.DGCClient$EndpointEntry$RenewCleanThread.run(DGCClient.java:516)
    at java.lang.Thread.run(Thread.java:662)

   Locked ownable synchronizers:
    - None

"RMI Reaper" prio=10 tid=0x000000005c975000 nid=0x3d72 in Object.wait() [0x0000000041c55000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x00000000ec43fb18> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
    - locked <0x00000000ec43fb18> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
    at sun.rmi.transport.ObjectTable$Reaper.run(ObjectTable.java:333)
    at java.lang.Thread.run(Thread.java:662)

   Locked ownable synchronizers:
    - None

"GC Daemon" daemon prio=10 tid=0x000000005c974000 nid=0x3d71 in Object.wait() [0x0000000041932000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    at sun.misc.GC$Daemon.run(GC.java:100)
    - locked <0x00000000ec43fb48> (a sun.misc.GC$LatencyLock)

   Locked ownable synchronizers:
    - None

"RMI RenewClean-[127.0.0.1:41727,net.sf.ehcache.distribution.ConfigurableRMIClientSocketFactory@1d4c0]" daemon prio=10 tid=0x000000005c783800 nid=0x3d70 in Object.wait() [0x000000004181f000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
    - locked <0x00000000ec43fbc0> (a java.lang.ref.ReferenceQueue$Lock)
    at sun.rmi.transport.DGCClient$EndpointEntry$RenewCleanThread.run(DGCClient.java:516)
    at java.lang.Thread.run(Thread.java:662)

   Locked ownable synchronizers:
    - None

"RMI Scheduler(0)" daemon prio=10 tid=0x000000005c783000 nid=0x3d6f waiting on condition [0x000000004172d000]
   java.lang.Thread.State: TIMED_WAITING (parking)
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for  <0x00000000ec43fb90> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
    at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:196)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2025)
    at java.util.concurrent.DelayQueue.take(DelayQueue.java:164)
    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:609)
    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:602)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
    at java.lang.Thread.run(Thread.java:662)

   Locked ownable synchronizers:
    - None

"RMI TCP Accept-0" daemon prio=10 tid=0x000000005bb04800 nid=0x3d6e runnable [0x000000004170c000]
   java.lang.Thread.State: RUNNABLE
    at java.net.PlainSocketImpl.socketAccept(Native Method)
    at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:408)
    - locked <0x00000000ec3a4f50> (a java.net.SocksSocketImpl)
    at java.net.ServerSocket.implAccept(ServerSocket.java:462)
    at java.net.ServerSocket.accept(ServerSocket.java:430)
    at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.executeAcceptLoop(TCPTransport.java:369)
    at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.run(TCPTransport.java:341)
    at java.lang.Thread.run(Thread.java:662)

   Locked ownable synchronizers:
    - None

"Replication Thread" daemon prio=10 tid=0x000000005bb07800 nid=0x3d6a waiting on condition [0x0000000041f61000]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
    at java.lang.Thread.sleep(Native Method)
    at net.sf.ehcache.distribution.RMIAsynchronousCacheReplicator.replicationThreadMain(RMIAsynchronousCacheReplicator.java:108)
    at net.sf.ehcache.distribution.RMIAsynchronousCacheReplicator.access$100(RMIAsynchronousCacheReplicator.java:56)
    at net.sf.ehcache.distribution.RMIAsynchronousCacheReplicator$ReplicationThread.run(RMIAsynchronousCacheReplicator.java:376)

   Locked ownable synchronizers:
    - None

"Replication Thread" daemon prio=10 tid=0x000000005c353800 nid=0x3d69 sleeping[0x0000000041f40000]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
    at java.lang.Thread.sleep(Native Method)
    at net.sf.ehcache.distribution.RMIAsynchronousCacheReplicator.replicationThreadMain(RMIAsynchronousCacheReplicator.java:108)
    at net.sf.ehcache.distribution.RMIAsynchronousCacheReplicator.access$100(RMIAsynchronousCacheReplicator.java:56)
    at net.sf.ehcache.distribution.RMIAsynchronousCacheReplicator$ReplicationThread.run(RMIAsynchronousCacheReplicator.java:376)

   Locked ownable synchronizers:
    - None

"net.sf.ehcache.CacheManager@4856d149" daemon prio=10 tid=0x000000005a86c800 nid=0x3d4a in Object.wait() [0x0000000041754000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    at java.util.TimerThread.mainLoop(Timer.java:509)
    - locked <0x00000000ec440280> (a java.util.TaskQueue)
    at java.util.TimerThread.run(Timer.java:462)

   Locked ownable synchronizers:
    - None

"RMI TCP Accept-38303" daemon prio=10 tid=0x000000005b7ca000 nid=0x3d49 runnable [0x0000000041220000]
   java.lang.Thread.State: RUNNABLE
    at java.net.PlainSocketImpl.socketAccept(Native Method)
    at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:408)
    - locked <0x00000000ec3a5130> (a java.net.SocksSocketImpl)
    at java.net.ServerSocket.implAccept(ServerSocket.java:462)
    at java.net.ServerSocket.accept(ServerSocket.java:430)
    at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.executeAcceptLoop(TCPTransport.java:369)
    at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.run(TCPTransport.java:341)
    at java.lang.Thread.run(Thread.java:662)

   Locked ownable synchronizers:
    - None

"Multicast Heartbeat Sender Thread" daemon prio=10 tid=0x000000005b4f2800 nid=0x3d48 in Object.wait() [0x00000000419b0000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    at net.sf.ehcache.distribution.MulticastKeepaliveHeartbeatSender$MulticastServerThread.run(MulticastKeepaliveHeartbeatSender.java:146)
    - locked <0x00000000ec440c38> (a net.sf.ehcache.distribution.MulticastKeepaliveHeartbeatSender$MulticastServerThread)

   Locked ownable synchronizers:
    - None

"Multicast Heartbeat Receiver Thread" daemon prio=10 tid=0x000000005c2b7000 nid=0x3d47 runnable [0x000000004198f000]
   java.lang.Thread.State: RUNNABLE
    at java.net.PlainDatagramSocketImpl.receive0(Native Method)
    - locked <0x00000000ec43b278> (a java.net.PlainDatagramSocketImpl)
    at java.net.PlainDatagramSocketImpl.receive(PlainDatagramSocketImpl.java:145)
    - locked <0x00000000ec43b278> (a java.net.PlainDatagramSocketImpl)
    at java.net.DatagramSocket.receive(DatagramSocket.java:725)
    - locked <0x00000000dd3b7a90> (a java.net.DatagramPacket)
    - locked <0x00000000ec44ebf8> (a java.net.MulticastSocket)
    at net.sf.ehcache.distribution.MulticastKeepaliveHeartbeatReceiver$MulticastReceiverThread.run(MulticastKeepaliveHeartbeatReceiver.java:124)

   Locked ownable synchronizers:
    - None

"MultiThreadedHttpConnectionManager cleanup" daemon prio=10 tid=0x000000005a8d2000 nid=0x3c35 in Object.wait() [0x0000000041481000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x00000000ec3150d8> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
    - locked <0x00000000ec3150d8> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
    at org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$ReferenceQueueThread.run(MultiThreadedHttpConnectionManager.java:1122)

   Locked ownable synchronizers:
    - None

"DestroyJavaVM" prio=10 tid=0x000000005a6da000 nid=0x3a42 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

   Locked ownable synchronizers:
    - None

"pool-1-thread-1" prio=10 tid=0x000000005aab7000 nid=0x3b1b waiting on condition [0x00000000401bd000]
   java.lang.Thread.State: WAITING (parking)
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for  <0x00000000ec3150f0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:156)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399)
    at com.teststack.news.se.NewsSearchEngine$1.run(NewsSearchEngine.java:167)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:662)

   Locked ownable synchronizers:
    - <0x00000000ec32e750> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)

"news_QuartzSchedulerThread" prio=10 tid=0x000000005b17b000 nid=0x3b1a in Object.wait() [0x0000000041b1c000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    at org.quartz.core.QuartzSchedulerThread.run(QuartzSchedulerThread.java:296)
    - locked <0x00000000ec315168> (a java.lang.Object)

   Locked ownable synchronizers:
    - None

"news_Worker-10" prio=10 tid=0x000000005b069000 nid=0x3b19 in Object.wait() [0x0000000041afb000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:519)
    - locked <0x00000000ec3180f8> (a org.quartz.simpl.SimpleThreadPool$WorkerThread)

   Locked ownable synchronizers:
    - None

"news_Worker-9" prio=10 tid=0x000000005aced800 nid=0x3b18 in Object.wait() [0x0000000041ada000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:519)
    - locked <0x00000000ec317f78> (a org.quartz.simpl.SimpleThreadPool$WorkerThread)

   Locked ownable synchronizers:
    - None

"news_Worker-8" prio=10 tid=0x000000005bc75000 nid=0x3b17 in Object.wait() [0x0000000041ab9000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:519)
    - locked <0x00000000ec317ff8> (a org.quartz.simpl.SimpleThreadPool$WorkerThread)

   Locked ownable synchronizers:
    - None

"news_Worker-7" prio=10 tid=0x000000005b0af800 nid=0x3b16 in Object.wait() [0x0000000041a98000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:519)
    - locked <0x00000000ec318078> (a org.quartz.simpl.SimpleThreadPool$WorkerThread)

   Locked ownable synchronizers:
    - None

"news_Worker-6" prio=10 tid=0x000000005ac90000 nid=0x3b15 in Object.wait() [0x00000000417fe000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:519)
    - locked <0x00000000ec3182f8> (a org.quartz.simpl.SimpleThreadPool$WorkerThread)

   Locked ownable synchronizers:
    - None

"news_Worker-5" prio=10 tid=0x000000005b06f000 nid=0x3b14 in Object.wait() [0x00000000417dd000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:519)
    - locked <0x00000000ec318178> (a org.quartz.simpl.SimpleThreadPool$WorkerThread)

   Locked ownable synchronizers:
    - None

"news_Worker-4" prio=10 tid=0x000000005aee3000 nid=0x3b13 in Object.wait() [0x00000000417bc000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:519)
    - locked <0x00000000ec3181f8> (a org.quartz.simpl.SimpleThreadPool$WorkerThread)

   Locked ownable synchronizers:
    - None

"news_Worker-3" prio=10 tid=0x000000005a7c4000 nid=0x3b12 in Object.wait() [0x000000004179b000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:519)
    - locked <0x00000000ec318278> (a org.quartz.simpl.SimpleThreadPool$WorkerThread)

   Locked ownable synchronizers:
    - None

"news_Worker-2" prio=10 tid=0x000000005a806000 nid=0x3b11 in Object.wait() [0x00000000416eb000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:519)
    - locked <0x00000000ec318cf8> (a org.quartz.simpl.SimpleThreadPool$WorkerThread)

   Locked ownable synchronizers:
    - None

"news_Worker-1" prio=10 tid=0x000000005ae27000 nid=0x3b10 in Object.wait() [0x00000000402dd000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:519)
    - locked <0x00000000ec318b78> (a org.quartz.simpl.SimpleThreadPool$WorkerThread)

   Locked ownable synchronizers:
    - None

"Low Memory Detector" daemon prio=10 tid=0x000000005a796000 nid=0x3a4b runnable [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

   Locked ownable synchronizers:
    - None

"C2 CompilerThread1" daemon prio=10 tid=0x000000005a794000 nid=0x3a4a waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

   Locked ownable synchronizers:
    - None

"C2 CompilerThread0" daemon prio=10 tid=0x000000005a78f000 nid=0x3a49 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

   Locked ownable synchronizers:
    - None

"Signal Dispatcher" daemon prio=10 tid=0x000000005a78c800 nid=0x3a48 runnable [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

   Locked ownable synchronizers:
    - None

"Surrogate Locker Thread (Concurrent GC)" daemon prio=10 tid=0x000000005a78a800 nid=0x3a47 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

   Locked ownable synchronizers:
    - None

"Finalizer" daemon prio=10 tid=0x000000005a768800 nid=0x3a46 in Object.wait() [0x0000000040cc7000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
    - locked <0x00000000ec001680> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
    at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)

   Locked ownable synchronizers:
    - None

"Reference Handler" daemon prio=10 tid=0x000000005a766800 nid=0x3a45 in Object.wait() [0x0000000040ca6000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:485)
    at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
    - locked <0x00000000ec0016c8> (a java.lang.ref.Reference$Lock)

   Locked ownable synchronizers:
    - None

"VM Thread" prio=10 tid=0x000000005a75f800 nid=0x3a44 runnable 

"Concurrent Mark-Sweep GC Thread" prio=10 tid=0x000000005a704800 nid=0x3a43 runnable 
"VM Periodic Task Thread" prio=10 tid=0x000000005a7a1800 nid=0x3a4c waiting on condition 

JNI global references: 1323

1 个答案:

答案 0 :(得分:2)

要解释线程转储,请按照以下活动(例如我使用linux)。

Step 1) First execute the command ps -fL <PID> where PID is process id for application server.
it will give you all thread which are running under one JVM. You need to check LWD and find out which is running from very long time, just take three or four threads pid.

Step 2) take thread dump , it will dump for all threads even for low priority threads now you need convert hexadecimal value so that you can find out which child threads PID are matching here and then you will come to know which class is creating problem.

如果有什么不清楚请更新。 希望它能帮助您解决问题。

相关问题