Thread Dump

Thread Dump 

A thread dump is an output of the state of the call stack at the point when your programme failed. This should let you work out want went wrong in the programme, because it shows exactly what the programme was doing (and why).

1. JPS查看当前java进程

2. jstack PID生成dump下面是tomcat的thread dump

2013-11-15 10:04:56
Full thread dump Java HotSpot(TM) Client VM (23.7-b01 mixed mode):


"ajp-nio-8009-Acceptor-0" daemon prio=6 tid=0x19e01400 nid=0x3314 runnable [0x1a9ef000]
   java.lang.Thread.State: RUNNABLE
        at sun.nio.ch.ServerSocketChannelImpl.accept0(Native Method)
        at sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:226)
        - locked <0x09a83e00> (a java.lang.Object)
        at org.apache.tomcat.util.net.NioEndpoint$Acceptor.run(NioEndpoint.java:714)
        at java.lang.Thread.run(Thread.java:722)


"ajp-nio-8009-ClientPoller-1" daemon prio=6 tid=0x19e00c00 nid=0x6a0 runnable [0x1a76f000]
   java.lang.Thread.State: RUNNABLE
        at sun.nio.ch.WindowsSelectorImpl$SubSelector.poll0(Native Method)
        at sun.nio.ch.WindowsSelectorImpl$SubSelector.poll(WindowsSelectorImpl.java:295)
        at sun.nio.ch.WindowsSelectorImpl$SubSelector.access$400(WindowsSelectorImpl.java:277)
        at sun.nio.ch.WindowsSelectorImpl.doSelect(WindowsSelectorImpl.java:158)
        at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:87)
        - locked <0x0a681748> (a sun.nio.ch.Util$2)
        - locked <0x0a681758> (a java.util.Collections$UnmodifiableSet)
        - locked <0x0a6816d0> (a sun.nio.ch.WindowsSelectorImpl)
        at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:98)
        at org.apache.tomcat.util.net.NioEndpoint$Poller.run(NioEndpoint.java:1075)
        at java.lang.Thread.run(Thread.java:722)


"ajp-nio-8009-ClientPoller-0" daemon prio=6 tid=0x19e00800 nid=0x25c0 runnable [0x1a82f000]
   java.lang.Thread.State: RUNNABLE
        at sun.nio.ch.WindowsSelectorImpl$SubSelector.poll0(Native Method)
        at sun.nio.ch.WindowsSelectorImpl$SubSelector.poll(WindowsSelectorImpl.java:295)
        at sun.nio.ch.WindowsSelectorImpl$SubSelector.access$400(WindowsSelectorImpl.java:277)
        at sun.nio.ch.WindowsSelectorImpl.doSelect(WindowsSelectorImpl.java:158)
        at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:87)
        - locked <0x0a684888> (a sun.nio.ch.Util$2)
        - locked <0x0a684898> (a java.util.Collections$UnmodifiableSet)
        - locked <0x0a684810> (a sun.nio.ch.WindowsSelectorImpl)
        at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:98)
        at org.apache.tomcat.util.net.NioEndpoint$Poller.run(NioEndpoint.java:1075)
        at java.lang.Thread.run(Thread.java:722)


"http-nio-8080-Acceptor-0" daemon prio=6 tid=0x19e00000 nid=0x214c runnable [0x1a64f000]
   java.lang.Thread.State: RUNNABLE
        at sun.nio.ch.ServerSocketChannelImpl.accept0(Native Method)
        at sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:226)
        - locked <0x09a83d50> (a java.lang.Object)
        at org.apache.tomcat.util.net.NioEndpoint$Acceptor.run(NioEndpoint.java:714)
        at java.lang.Thread.run(Thread.java:722)


"http-nio-8080-ClientPoller-1" daemon prio=6 tid=0x19dffc00 nid=0x1b8c runnable [0x1a70f000]
   java.lang.Thread.State: RUNNABLE
        at sun.nio.ch.WindowsSelectorImpl$SubSelector.poll0(Native Method)
        at sun.nio.ch.WindowsSelectorImpl$SubSelector.poll(WindowsSelectorImpl.java:295)
        at sun.nio.ch.WindowsSelectorImpl$SubSelector.access$400(WindowsSelectorImpl.java:277)
        at sun.nio.ch.WindowsSelectorImpl.doSelect(WindowsSelectorImpl.java:158)
        at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:87)
        - locked <0x0a6879f0> (a sun.nio.ch.Util$2)
        - locked <0x0a687a00> (a java.util.Collections$UnmodifiableSet)
        - locked <0x0a687978> (a sun.nio.ch.WindowsSelectorImpl)
        at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:98)
        at org.apache.tomcat.util.net.NioEndpoint$Poller.run(NioEndpoint.java:1075)
        at java.lang.Thread.run(Thread.java:722)


"http-nio-8080-ClientPoller-0" daemon prio=6 tid=0x19dff400 nid=0x2428 runnable [0x1a3df000]
   java.lang.Thread.State: RUNNABLE
        at sun.nio.ch.WindowsSelectorImpl$SubSelector.poll0(Native Method)
        at sun.nio.ch.WindowsSelectorImpl$SubSelector.poll(WindowsSelectorImpl.java:295)
        at sun.nio.ch.WindowsSelectorImpl$SubSelector.access$400(WindowsSelectorImpl.java:277)
        at sun.nio.ch.WindowsSelectorImpl.doSelect(WindowsSelectorImpl.java:158)
        at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:87)
        - locked <0x0a68ab18> (a sun.nio.ch.Util$2)
        - locked <0x0a68ab28> (a java.util.Collections$UnmodifiableSet)
        - locked <0x0a68aaa0> (a sun.nio.ch.WindowsSelectorImpl)
        at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:98)
        at org.apache.tomcat.util.net.NioEndpoint$Poller.run(NioEndpoint.java:1075)
        at java.lang.Thread.run(Thread.java:722)


"ContainerBackgroundProcessor[StandardEngine[Catalina]]" daemon prio=6 tid=0x19dff000 nid=0x1f40 waiting on condition [0x1904f000]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
        at java.lang.Thread.sleep(Native Method)
        at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1331)
        at java.lang.Thread.run(Thread.java:722)


"ActiveMQ Connection Executor: unconnected" daemon prio=6 tid=0x19438800 nid=0x2680 waiting on condition [0x1a5ef000]
   java.lang.Thread.State: WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x09bf08e0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
        at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
        at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:722)


"Thread-3" daemon prio=6 tid=0x192a3800 nid=0x32a0 runnable [0x19a5f000]
   java.lang.Thread.State: RUNNABLE
        at sun.nio.ch.Iocp.getQueuedCompletionStatus(Native Method)
        at sun.nio.ch.Iocp.access$300(Iocp.java:46)
        at sun.nio.ch.Iocp$EventHandlerTask.run(Iocp.java:333)
        at java.lang.Thread.run(Thread.java:722)


"NioBlockingSelector.BlockPoller-2" daemon prio=6 tid=0x1955f000 nid=0x3814 runnable [0x1987f000]
   java.lang.Thread.State: RUNNABLE
        at sun.nio.ch.WindowsSelectorImpl$SubSelector.poll0(Native Method)
        at sun.nio.ch.WindowsSelectorImpl$SubSelector.poll(WindowsSelectorImpl.java:295)
        at sun.nio.ch.WindowsSelectorImpl$SubSelector.access$400(WindowsSelectorImpl.java:277)
        at sun.nio.ch.WindowsSelectorImpl.doSelect(WindowsSelectorImpl.java:158)
        at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:87)
        - locked <0x09a45048> (a sun.nio.ch.Util$2)
        - locked <0x09a45058> (a java.util.Collections$UnmodifiableSet)
        - locked <0x09a44fd0> (a sun.nio.ch.WindowsSelectorImpl)
        at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:98)
        at org.apache.tomcat.util.net.NioBlockingSelector$BlockPoller.run(NioBlockingSelector.java:342)


"NioBlockingSelector.BlockPoller-1" daemon prio=6 tid=0x1955b800 nid=0x11ec runnable [0x1918f000]
   java.lang.Thread.State: RUNNABLE
        at sun.nio.ch.WindowsSelectorImpl$SubSelector.poll0(Native Method)
        at sun.nio.ch.WindowsSelectorImpl$SubSelector.poll(WindowsSelectorImpl.java:295)
        at sun.nio.ch.WindowsSelectorImpl$SubSelector.access$400(WindowsSelectorImpl.java:277)
        at sun.nio.ch.WindowsSelectorImpl.doSelect(WindowsSelectorImpl.java:158)
        at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:87)
        - locked <0x09a48130> (a sun.nio.ch.Util$2)
        - locked <0x09a48140> (a java.util.Collections$UnmodifiableSet)
        - locked <0x09a480b8> (a sun.nio.ch.WindowsSelectorImpl)
        at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:98)
        at org.apache.tomcat.util.net.NioBlockingSelector$BlockPoller.run(NioBlockingSelector.java:342)


"GC Daemon" daemon prio=2 tid=0x19340800 nid=0x1638 in Object.wait() [0x196df000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x09786750> (a sun.misc.GC$LatencyLock)
        at sun.misc.GC$Daemon.run(GC.java:117)
        - locked <0x09786750> (a sun.misc.GC$LatencyLock)


"Service Thread" daemon prio=6 tid=0x181af000 nid=0x12ac runnable [0x00000000]
   java.lang.Thread.State: RUNNABLE


"C1 CompilerThread0" daemon prio=10 tid=0x181ac800 nid=0x3dc waiting on condition [0x00000000]
   java.lang.Thread.State: RUNNABLE


"JDWP Command Reader" daemon prio=6 tid=0x1819cc00 nid=0x39a8 runnable [0x00000000]
   java.lang.Thread.State: RUNNABLE


"JDWP Event Helper Thread" daemon prio=6 tid=0x1819bc00 nid=0x27a0 runnable [0x00000000]
   java.lang.Thread.State: RUNNABLE


"JDWP Transport Listener: dt_socket" daemon prio=6 tid=0x18193c00 nid=0x23a0 runnable [0x00000000]
   java.lang.Thread.State: RUNNABLE


"Attach Listener" daemon prio=10 tid=0x1818e400 nid=0x29b4 waiting on condition [0x00000000]
   java.lang.Thread.State: RUNNABLE


"Signal Dispatcher" daemon prio=10 tid=0x1818b400 nid=0x31bc runnable [0x00000000]
   java.lang.Thread.State: RUNNABLE


"Finalizer" daemon prio=8 tid=0x1812fc00 nid=0x29dc in Object.wait() [0x1854f000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x09631130> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:135)
        - locked <0x09631130> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:151)
        at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:177)


"Reference Handler" daemon prio=10 tid=0x1812b000 nid=0x29c8 in Object.wait() [0x185af000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x09631150> (a java.lang.ref.Reference$Lock)
        at java.lang.Object.wait(Object.java:503)
        at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:133)
        - locked <0x09631150> (a java.lang.ref.Reference$Lock)


"main" prio=6 tid=0x01f6cc00 nid=0x2cac runnable [0x003ae000]
   java.lang.Thread.State: RUNNABLE
        at java.net.DualStackPlainSocketImpl.accept0(Native Method)
        at java.net.DualStackPlainSocketImpl.socketAccept(DualStackPlainSocketImpl.java:121)
        at java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:398)
        at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:183)
        - locked <0x0a698f90> (a java.net.SocksSocketImpl)
        at java.net.ServerSocket.implAccept(ServerSocket.java:522)
        at java.net.ServerSocket.accept(ServerSocket.java:490)
        at org.apache.catalina.core.StandardServer.await(StandardServer.java:437)
        at org.apache.catalina.startup.Catalina.await(Catalina.java:746)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:692)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:352)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:486)


"VM Thread" prio=10 tid=0x18126800 nid=0x3408 runnable


"VM Periodic Task Thread" prio=10 tid=0x181c9000 nid=0x1f84 waiting on condition


JNI global references: 6264

3. 在linux上用kill -3 PID来显示






转载于:https://my.oschina.net/u/138995/blog/176377

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值