jstack分析

2017-05-26 16:36:34
Full thread dump Java HotSpot(TM) 64-Bit Server VM (24.55-b03 mixed mode):

“Attach Listener” daemon prio=10 tid=0x0000000000ad8800 nid=0x6b56 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE

“logback-2” daemon prio=10 tid=0x00007f3268157000 nid=0x63ce waiting on condition [0x00007f325072c000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x000000074eec5f68> (a java.util.concurrent.locks.AbstractQueuedSynchronizer ConditionObject)atjava.util.concurrent.locks.LockSupport.park(LockSupport.java:186)atjava.util.concurrent.locks.AbstractQueuedSynchronizer ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
at java.util.concurrent.ScheduledThreadPoolExecutor DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1079)atjava.util.concurrent.ScheduledThreadPoolExecutor DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:807)
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:745)

“logback-1” daemon prio=10 tid=0x00007f3268158000 nid=0x63a0 waiting on condition [0x00007f325092e000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x000000074eec5f68> (a java.util.concurrent.locks.AbstractQueuedSynchronizer ConditionObject)atjava.util.concurrent.locks.LockSupport.park(LockSupport.java:186)atjava.util.concurrent.locks.AbstractQueuedSynchronizer ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
at java.util.concurrent.ScheduledThreadPoolExecutor DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1079)atjava.util.concurrent.ScheduledThreadPoolExecutor DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:807)
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:745)

“commons-pool-EvictionTimer” daemon prio=10 tid=0x00007f32687ac800 nid=0x6378 in Object.wait() [0x00007f325082d000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x000000074ec20f90> (a java.util.TaskQueue)
at java.util.TimerThread.mainLoop(Timer.java:552)
- locked <0x000000074ec20f90> (a java.util.TaskQueue)
at java.util.TimerThread.run(Timer.java:505)

“Curator-PathChildrenCache-0” daemon prio=10 tid=0x00007f3268798000 nid=0x6376 waiting on condition [0x00007f3250a2f000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x000000074ec20fc0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer ConditionObject)atjava.util.concurrent.locks.LockSupport.park(LockSupport.java:186)atjava.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:745)

“Curator-Framework-0” daemon prio=10 tid=0x00007f326877e800 nid=0x6375 waiting on condition [0x00007f3250b30000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x000000074ec24b78> (a java.util.concurrent.locks.AbstractQueuedSynchronizer ConditionObject)atjava.util.concurrent.locks.LockSupport.park(LockSupport.java:186)atjava.util.concurrent.locks.AbstractQueuedSynchronizer ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
at java.util.concurrent.DelayQueue.take(DelayQueue.java:209)
at java.util.concurrent.DelayQueue.take(DelayQueue.java:68)
at org.apache.curator.framework.imps.CuratorFrameworkImpl.backgroundOperationsLoop(CuratorFrameworkImpl.java:795)
at org.apache.curator.framework.imps.CuratorFrameworkImpl.access 300(CuratorFrameworkImpl.java:63)atorg.apache.curator.framework.imps.CuratorFrameworkImpl 4.call(CuratorFrameworkImpl.java:267)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)

“main-EventThread” daemon prio=10 tid=0x00007f3268778800 nid=0x6374 waiting on condition [0x00007f3250c31000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x000000074ec21008> (a java.util.concurrent.locks.AbstractQueuedSynchronizer ConditionObject)atjava.util.concurrent.locks.LockSupport.park(LockSupport.java:186)atjava.util.concurrent.locks.AbstractQueuedSynchronizer ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
at org.apache.zookeeper.ClientCnxn$EventThread.run(ClientCnxn.java:500)

“main-SendThread()” daemon prio=10 tid=0x00007f3268777000 nid=0x6373 runnable [0x00007f3250d32000]
java.lang.Thread.State: RUNNABLE
at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269)
at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:79)
at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:87)
- locked <0x000000074ec21050> (a sun.nio.ch.Util 2)locked<0x000000074ec21068>(ajava.util.Collections UnmodifiableSet)
- locked <0x000000074ec25cf0> (a sun.nio.ch.EPollSelectorImpl)
at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:98)
at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:274)
at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1071)

“Curator-ConnectionStateManager-0” daemon prio=10 tid=0x00007f326874d800 nid=0x6372 waiting on condition [0x00007f3250e33000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x000000074ec29440> (a java.util.concurrent.locks.AbstractQueuedSynchronizer ConditionObject)atjava.util.concurrent.locks.LockSupport.park(LockSupport.java:186)atjava.util.concurrent.locks.AbstractQueuedSynchronizer ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
at java.util.concurrent.ArrayBlockingQueue.take(ArrayBlockingQueue.java:374)
at org.apache.curator.framework.state.ConnectionStateManager.processEvents(ConnectionStateManager.java:245)
at org.apache.curator.framework.state.ConnectionStateManager.access 000(ConnectionStateManager.java:43)atorg.apache.curator.framework.state.ConnectionStateManager 1.call(ConnectionStateManager.java:111)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)

“reload-configuration” daemon prio=10 tid=0x00007f32685db000 nid=0x6371 waiting on condition [0x00007f3250f34000]
java.lang.Thread.State: TIMED_WAITING (sleeping)
at java.lang.Thread.sleep(Native Method)
at com.gexin.rp.base.impl.BaseConfig$1.run(BaseConfig.java:60)
at java.lang.Thread.run(Thread.java:745)

“FILE” daemon prio=10 tid=0x00007f32685ce000 nid=0x6370 waiting on condition [0x00007f3251035000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x000000074ec21080> (a java.util.concurrent.locks.AbstractQueuedSynchronizer ConditionObject)atjava.util.concurrent.locks.LockSupport.park(LockSupport.java:186)atjava.util.concurrent.locks.AbstractQueuedSynchronizer ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
at com.gexin.rp.base.logback.AsyncRollingFileAppender$Dispatcher.run(AsyncRollingFileAppender.java:50)
at java.lang.Thread.run(Thread.java:745)

“RMI TCP Accept-0” daemon prio=10 tid=0x00007f326841f000 nid=0x636d runnable [0x00007f3251237000]
java.lang.Thread.State: RUNNABLE
at java.net.PlainSocketImpl.socketAccept(Native Method)
at java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:398)
at java.net.ServerSocket.implAccept(ServerSocket.java:530)
at java.net.ServerSocket.accept(ServerSocket.java:498)
at sun.management.jmxremote.LocalRMIServerSocketFactory 1.accept(LocalRMIServerSocketFactory.java:52)atsun.rmi.transport.tcp.TCPTransport AcceptLoop.executeAcceptLoop(TCPTransport.java:388)
at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.run(TCPTransport.java:360)
at java.lang.Thread.run(Thread.java:745)

“RMI TCP Accept-7986” daemon prio=10 tid=0x00007f3268416800 nid=0x636c runnable [0x00007f32581c3000]
java.lang.Thread.State: RUNNABLE
at java.net.PlainSocketImpl.socketAccept(Native Method)
at java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:398)
at java.net.ServerSocket.implAccept(ServerSocket.java:530)
at java.net.ServerSocket.accept(ServerSocket.java:498)
at sun.rmi.transport.tcp.TCPTransport AcceptLoop.executeAcceptLoop(TCPTransport.java:388)atsun.rmi.transport.tcp.TCPTransport AcceptLoop.run(TCPTransport.java:360)
at java.lang.Thread.run(Thread.java:745)

“RMI TCP Accept-0” daemon prio=10 tid=0x00007f3268409800 nid=0x636b runnable [0x00007f32582c4000]
java.lang.Thread.State: RUNNABLE
at java.net.PlainSocketImpl.socketAccept(Native Method)
at java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:398)
at java.net.ServerSocket.implAccept(ServerSocket.java:530)
at java.net.ServerSocket.accept(ServerSocket.java:498)
at sun.rmi.transport.tcp.TCPTransport AcceptLoop.executeAcceptLoop(TCPTransport.java:388)atsun.rmi.transport.tcp.TCPTransport AcceptLoop.run(TCPTransport.java:360)
at java.lang.Thread.run(Thread.java:745)

“Service Thread” daemon prio=10 tid=0x00007f3268154800 nid=0x636a runnable [0x0000000000000000]
java.lang.Thread.State: RUNNABLE

“C2 CompilerThread1” daemon prio=10 tid=0x00007f3268152000 nid=0x6369 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE

“C2 CompilerThread0” daemon prio=10 tid=0x00007f326814f800 nid=0x6368 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE

“Signal Dispatcher” daemon prio=10 tid=0x00007f326814d800 nid=0x6367 runnable [0x0000000000000000]
java.lang.Thread.State: RUNNABLE

“Surrogate Locker Thread (Concurrent GC)” daemon prio=10 tid=0x00007f3268143000 nid=0x6366 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE

“Finalizer” daemon prio=10 tid=0x00007f326812c800 nid=0x6365 in Object.wait() [0x00007f325f230000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x000000074ec24c08> (a java.lang.ref.ReferenceQueue Lock)atjava.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:135)locked<0x000000074ec24c08>(ajava.lang.ref.ReferenceQueue Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:151)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:189)

“Reference Handler” daemon prio=10 tid=0x00007f3268128800 nid=0x6364 in Object.wait() [0x00007f325f331000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x000000074ec29fa0> (a java.lang.ref.Reference Lock)atjava.lang.Object.wait(Object.java:503)atjava.lang.ref.Reference ReferenceHandler.run(Reference.java:133)
- locked <0x000000074ec29fa0> (a java.lang.ref.Reference$Lock)

“main” prio=10 tid=0x0000000000aa2800 nid=0x6356 runnable [0x00007f326fec0000]
java.lang.Thread.State: RUNNABLE
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:152)
at java.net.SocketInputStream.read(SocketInputStream.java:122)
at java.net.SocketInputStream.read(SocketInputStream.java:108)
at redis.clients.util.RedisInputStream.ensureFill(RedisInputStream.java:195)
at redis.clients.util.RedisInputStream.readByte(RedisInputStream.java:40)
at redis.clients.jedis.Protocol.process(Protocol.java:141)
at redis.clients.jedis.Protocol.read(Protocol.java:205)
at redis.clients.jedis.Connection.readProtocolWithCheckingBroken(Connection.java:297)
at redis.clients.jedis.Connection.getAll(Connection.java:267)
at redis.clients.jedis.Connection.getAll(Connection.java:259)
at redis.clients.jedis.Pipeline.sync(Pipeline.java:99)
at com.gexin.tool.util.FilesReaderUtil.traverseFiles(FilesReaderUtil.java:95)
at main.TagSyncMain.main(TagSyncMain.java:23)

“VM Thread” prio=10 tid=0x00007f3268126000 nid=0x6363 runnable

“Gang worker#0 (Parallel GC Threads)” prio=10 tid=0x0000000000ab3800 nid=0x6357 runnable

“Gang worker#1 (Parallel GC Threads)” prio=10 tid=0x0000000000ab5800 nid=0x6358 runnable

“Gang worker#2 (Parallel GC Threads)” prio=10 tid=0x0000000000ab7000 nid=0x6359 runnable

“Gang worker#3 (Parallel GC Threads)” prio=10 tid=0x00007f3268002000 nid=0x635a runnable

“Gang worker#4 (Parallel GC Threads)” prio=10 tid=0x00007f3268003800 nid=0x635b runnable

“Gang worker#5 (Parallel GC Threads)” prio=10 tid=0x00007f3268005800 nid=0x635c runnable

“Gang worker#6 (Parallel GC Threads)” prio=10 tid=0x00007f3268007800 nid=0x635d runnable

“Gang worker#7 (Parallel GC Threads)” prio=10 tid=0x00007f3268009000 nid=0x635e runnable

“Concurrent Mark-Sweep GC Thread” prio=10 tid=0x00007f32680e2800 nid=0x6361 runnable
“Gang worker#0 (Parallel CMS Threads)” prio=10 tid=0x00007f32680de800 nid=0x635f runnable

“Gang worker#1 (Parallel CMS Threads)” prio=10 tid=0x00007f32680e0800 nid=0x6360 runnable

“VM Periodic Task Thread” prio=10 tid=0x00007f3268421000 nid=0x636e waiting on condition

JNI global references: 355

分析结果:开在主线程,95行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值