【声明,如果是docker启动的服务,可以在进入容器内后,再使用如下命令操作】
【docker exec -it 容器ID /bin/bash 即可进入容器内】
【如果不是docker启动的服务,可以直接在宿主机使用下面操作】
简易操作步骤:
1.使用top命令获取所有Linux服务器上的进程PID以及相关信息
top
2.使用【top -H -p 进程PID】命令,可以获取到具体某个进程下各个线程的相关信息
如上可以看到java进程的PID是1
top -H -p
3.获取到其中的某个线程的PID,可以使用下面的命令获取到16进制的PID
例如,获取到PID为42的线程 对应的十六进制
printf "%x\n"
4.使用jstack命令 配合第三步的十六进制PID,可以具体定位到这个线程的情况
jstack -l | grep 2a
jstack -l java进程PID | grep 具体线程十六进制PID
然后可以根据这个获取结果进行分析
New: 当线程对象创建时存在的状态,此时线程不可能执行; Runnable:当调用thread.start()后,线程变成为Runnable状态。只要得到CPU,就可以执行; Running:线程正在执行; Waiting:执行thread.join()或在锁对象调用obj.wait()等情况就会进该状态,表明线程正处于等待某个资源或条件发生来唤醒自己; Timed_Waiting:执行Thread.sleep(long)、thread.join(long)或obj.wait(long)等就会进该状态,与Waiting的区别在于Timed_Waiting的等待有时间限制; Blocked:如果进入同步方法或同步代码块,没有获取到锁,则会进入该状态; Dead:线程执行完毕,或者抛出了未捕获的异常之后,会进入dead状态,表示该线程结束 其次,对于jstack日志,我们要着重关注如下关键信息 Deadlock:表示有死锁 Waiting on condition:等待某个资源或条件发生来唤醒自己。具体需要结合jstacktrace来分析,比如线程正在sleep,网络读写繁忙而等待 Blocked:阻塞 Waiting on monitor entry:在等待获取锁 in Object.wait():获取锁后又执行obj.wait()放弃锁 对于Waiting on monitor entry 和 in Object.wait()的详细描述:Monitor是 Java中用以实现线程之间的互斥与协作的主要手段,它可以看成是对象或者 Class的锁。每一个对象都有,也仅有一个 monitor。从下图中可以看出,每个 Monitor在某个时刻,只能被一个线程拥有,该线程就是 "Active Thread",而其它线程都是 "Waiting Thread",分别在两个队列 " Entry Set"和 "Wait Set"里面等候。在 "Entry Set"中等待的线程状态是 "Waiting for monitor entry",而在 "Wait Set"中等待的线程状态是 "in Object.wait()"
5.当然jstack命令可以不指定具体某个线程的十六进制PID,只指定java进程的PID,可以获取到完整的信息
jstack -l
jstack -l 只指定java进程PID
-- ::
Full thread dump OpenJDK -Bit Server VM (25.111-b14 mixed mode): "Attach Listener" # daemon prio= os_prio= tid=0x00007ff48ddc3000 nid=0x56 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE Locked ownable synchronizers:
- None "AsyncResolver-bootstrap-executor-0" # daemon prio= os_prio= tid=0x00007ff4906cc800 nid=0x42 waiting on condition [0x00007ff4616e3000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000c4bf1650> (a java.util.concurrent.SynchronousQueue$TransferStack)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:)
at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:)
at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:)
at java.util.concurrent.SynchronousQueue.take(SynchronousQueue.java:)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:)
at java.lang.Thread.run(Thread.java:) Locked ownable synchronizers:
- None "DiscoveryClient-HeartbeatExecutor-0" # daemon prio= os_prio= tid=0x00007ff498005000 nid=0x41 waiting on condition [0x00007ff461de4000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000c4581690> (a java.util.concurrent.SynchronousQueue$TransferStack)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:)
at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:)
at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:)
at java.util.concurrent.SynchronousQueue.take(SynchronousQueue.java:)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:)
at java.lang.Thread.run(Thread.java:) Locked ownable synchronizers:
- None "DiscoveryClient-CacheRefreshExecutor-0" # daemon prio= os_prio= tid=0x00007ff48c010800 nid=0x40 waiting on condition [0x00007ff461ee5000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000c45818c0> (a java.util.concurrent.SynchronousQueue$TransferStack)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:)
at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:)
at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:)
at java.util.concurrent.SynchronousQueue.take(SynchronousQueue.java:)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:)
at java.lang.Thread.run(Thread.java:) Locked ownable synchronizers:
- None "pool-1-thread-4" # prio= os_prio= tid=0x00007ff4a40a7800 nid=0x3f waiting on condition [0x00007ff461fe6000]
java.lang.Thread.State: TIMED_WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000c4bf49d0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:)
at java.lang.Thread.run(Thread.java:) Locked ownable synchronizers:
- None "AMQP Connection 172.16.60.194:5672" # prio= os_prio= tid=0x00007ff4a4163800 nid=0x3e runnable [0x00007ff4620e7000]
java.lang.Thread.State: RUNNABLE
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.socketRead(SocketInputStream.java:)
at java.net.SocketInputStream.read(SocketInputStream.java:)
at java.net.SocketInputStream.read(SocketInputStream.java:)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:)
at java.io.BufferedInputStream.read(BufferedInputStream.java:)
- locked <0x00000000c4bf47e8> (a java.io.BufferedInputStream)
at java.io.DataInputStream.readUnsignedByte(DataInputStream.java:)
at com.rabbitmq.client.impl.Frame.readFrom(Frame.java:)
at com.rabbitmq.client.impl.SocketFrameHandler.readFrame(SocketFrameHandler.java:)
- locked <0x00000000c4bf47c8> (a java.io.DataInputStream)
at com.rabbitmq.client.impl.AMQConnection$MainLoop.run(AMQConnection.java:)
at java.lang.Thread.run(Thread.java:) Locked ownable synchronizers:
- None "task-scheduler-10" # prio= os_prio= tid=0x00007ff49c017000 nid=0x3d waiting on condition [0x00007ff4628c1000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000c3b8a170> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:)
at java.lang.Thread.run(Thread.java:) Locked ownable synchronizers:
- None "task-scheduler-9" # prio= os_prio= tid=0x00007ff4792ec800 nid=0x3c waiting on condition [0x00007ff4629c2000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000c3b8a170> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:)
at java.lang.Thread.run(Thread.java:) Locked ownable synchronizers:
- None "task-scheduler-8" # prio= os_prio= tid=0x00007ff4a0001000 nid=0x3b waiting on condition [0x00007ff462ac3000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000c3b8a170> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:)
at java.lang.Thread.run(Thread.java:) Locked ownable synchronizers:
- None "task-scheduler-7" # prio= os_prio= tid=0x00007ff47c004800 nid=0x3a waiting on condition [0x00007ff462bc4000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000c3b8a170> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:)
at java.lang.Thread.run(Thread.java:) Locked ownable synchronizers:
- None "task-scheduler-6" # prio= os_prio= tid=0x00007ff47c003000 nid=0x39 waiting on condition [0x00007ff462cc5000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000c3b8a170> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:)
at java.lang.Thread.run(Thread.java:) Locked ownable synchronizers:
- None "task-scheduler-5" # prio= os_prio= tid=0x00007ff47807b800 nid=0x38 runnable [0x00007ff462dc6000]
java.lang.Thread.State: TIMED_WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000c3b8a170> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:)
at java.lang.Thread.run(Thread.java:) Locked ownable synchronizers:
- None "task-scheduler-4" # prio= os_prio= tid=0x00007ff47c001000 nid=0x37 waiting on condition [0x00007ff462ec7000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000c3b8a170> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:)
at java.lang.Thread.run(Thread.java:) Locked ownable synchronizers:
- None "DestroyJavaVM" # prio= os_prio= tid=0x00007ff4bc009800 nid=0x5 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE Locked ownable synchronizers:
- None "DiscoveryClient-InstanceInfoReplicator-0" # daemon prio= os_prio= tid=0x00007ff4bd63c000 nid=0x36 waiting on condition [0x00007ff462fc8000]
java.lang.Thread.State: TIMED_WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000c4c04ab8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:)
at java.lang.Thread.run(Thread.java:) Locked ownable synchronizers:
- None "DiscoveryClient-1" # daemon prio= os_prio= tid=0x00007ff4bd91f800 nid=0x35 waiting on condition [0x00007ff4630c9000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000c4581ab0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:)
at java.lang.Thread.run(Thread.java:) Locked ownable synchronizers:
- None "DiscoveryClient-0" # daemon prio= os_prio= tid=0x00007ff4bd91a800 nid=0x34 waiting on condition [0x00007ff4631ca000]
java.lang.Thread.State: TIMED_WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000c4581ab0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:)
at java.lang.Thread.run(Thread.java:) Locked ownable synchronizers:
- None "AsyncResolver-bootstrap-0" # daemon prio= os_prio= tid=0x00007ff4bed3f800 nid=0x33 waiting on condition [0x00007ff4634cb000]
java.lang.Thread.State: TIMED_WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000c4c05e50> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:)
at java.lang.Thread.run(Thread.java:) Locked ownable synchronizers:
- None "Eureka-JerseyClient-Conn-Cleaner2" # daemon prio= os_prio= tid=0x00007ff4bd3b1000 nid=0x32 waiting on condition [0x00007ff4635cc000]
java.lang.Thread.State: TIMED_WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000c4c0acc8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:)
at java.lang.Thread.run(Thread.java:) Locked ownable synchronizers:
- None "Eureka-JerseyClient-Conn-Cleaner2" # daemon prio= os_prio= tid=0x00007ff4bc7fd000 nid=0x31 waiting on condition [0x00007ff4636cd000]
java.lang.Thread.State: TIMED_WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000c4c0bb30> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:)
at java.lang.Thread.run(Thread.java:) Locked ownable synchronizers:
- None "task-scheduler-3" # prio= os_prio= tid=0x00007ff47916f800 nid=0x30 waiting on condition [0x00007ff4637ce000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000c3b8a170> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:)
at java.lang.Thread.run(Thread.java:) Locked ownable synchronizers:
- None "http-nio-auto-1-33486-AsyncTimeout" # daemon prio= os_prio= tid=0x00007ff4bd419000 nid=0x2f waiting on condition [0x00007ff463efd000]
java.lang.Thread.State: TIMED_WAITING (sleeping)
at java.lang.Thread.sleep(Native Method)
at org.apache.coyote.AbstractProtocol$AsyncTimeout.run(AbstractProtocol.java:)
at java.lang.Thread.run(Thread.java:) Locked ownable synchronizers:
- None "http-nio-auto-1-Acceptor-0" # daemon prio= os_prio= tid=0x00007ff4bf643800 nid=0x2e runnable [0x00007ff463ffe000]
java.lang.Thread.State: RUNNABLE
at sun.nio.ch.ServerSocketChannelImpl.accept0(Native Method)
at sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:)
at sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:)
- locked <0x00000000c47e8570> (a java.lang.Object)
at org.apache.tomcat.util.net.NioEndpoint$Acceptor.run(NioEndpoint.java:)
at java.lang.Thread.run(Thread.java:) Locked ownable synchronizers:
- None "http-nio-auto-1-ClientPoller-1" # daemon prio= os_prio= tid=0x00007ff4bf2a5800 nid=0x2d runnable [0x00007ff4741ea000]
java.lang.Thread.State: RUNNABLE
at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:)
at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:)
at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:)
- locked <0x00000000c47fca50> (a sun.nio.ch.Util$)
- locked <0x00000000c47fca40> (a java.util.Collections$UnmodifiableSet)
- locked <0x00000000c47fc8f8> (a sun.nio.ch.EPollSelectorImpl)
at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:)
at org.apache.tomcat.util.net.NioEndpoint$Poller.run(NioEndpoint.java:)
at java.lang.Thread.run(Thread.java:) Locked ownable synchronizers:
- None "http-nio-auto-1-ClientPoller-0" # daemon prio= os_prio= tid=0x00007ff4bf899000 nid=0x2c runnable [0x00007ff4742eb000]
java.lang.Thread.State: RUNNABLE
at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:)
at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:)
at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:)
- locked <0x00000000c47fd278> (a sun.nio.ch.Util$)
- locked <0x00000000c47fd268> (a java.util.Collections$UnmodifiableSet)
- locked <0x00000000c47fd140> (a sun.nio.ch.EPollSelectorImpl)
at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:)
at org.apache.tomcat.util.net.NioEndpoint$Poller.run(NioEndpoint.java:)
at java.lang.Thread.run(Thread.java:) Locked ownable synchronizers:
- None "http-nio-auto-1-exec-10" # daemon prio= os_prio= tid=0x00007ff4700c2800 nid=0x2b waiting on condition [0x00007ff4743ec000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000c47fda78> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:)
at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:)
at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:)
at java.lang.Thread.run(Thread.java:) Locked ownable synchronizers:
- None "http-nio-auto-1-exec-9" # daemon prio= os_prio= tid=0x00007ff47011c800 nid=0x2a waiting on condition [0x00007ff4744ed000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000c47fda78> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:)
at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:)
at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:)
at java.lang.Thread.run(Thread.java:) Locked ownable synchronizers:
- None "http-nio-auto-1-exec-8" # daemon prio= os_prio= tid=0x00007ff47011a800 nid=0x29 waiting on condition [0x00007ff4745ee000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000c47fda78> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:)
at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:)
at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:)
at java.lang.Thread.run(Thread.java:) Locked ownable synchronizers:
- None "http-nio-auto-1-exec-7" # daemon prio= os_prio= tid=0x00007ff470118800 nid=0x28 waiting on condition [0x00007ff4746ef000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000c47fda78> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:)
at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:)
at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:)
at java.lang.Thread.run(Thread.java:) Locked ownable synchronizers:
- None "http-nio-auto-1-exec-6" # daemon prio= os_prio= tid=0x00007ff470116800 nid=0x27 waiting on condition [0x00007ff4747f0000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000c47fda78> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:)
at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:)
at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:)
at java.lang.Thread.run(Thread.java:) Locked ownable synchronizers:
- None "http-nio-auto-1-exec-5" # daemon prio= os_prio= tid=0x00007ff4bfd36800 nid=0x26 waiting on condition [0x00007ff4748f1000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000c47fda78> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:)
at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:)
at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:)
at java.lang.Thread.run(Thread.java:) Locked ownable synchronizers:
- None "http-nio-auto-1-exec-4" # daemon prio= os_prio= tid=0x00007ff4bfd34800 nid=0x25 waiting on condition [0x00007ff4749f2000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000c47fda78> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:)
at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:)
at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:)
at java.lang.Thread.run(Thread.java:) Locked ownable synchronizers:
- None "http-nio-auto-1-exec-3" # daemon prio= os_prio= tid=0x00007ff4bcc55800 nid=0x24 waiting on condition [0x00007ff474af3000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000c47fda78> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:)
at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:)
at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:)
at java.lang.Thread.run(Thread.java:) Locked ownable synchronizers:
- None "http-nio-auto-1-exec-2" # daemon prio= os_prio= tid=0x00007ff4bfca2800 nid=0x23 waiting on condition [0x00007ff474bf4000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000c47fda78> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:)
at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:)
at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:)
at java.lang.Thread.run(Thread.java:) Locked ownable synchronizers:
- None "http-nio-auto-1-exec-1" # daemon prio= os_prio= tid=0x00007ff4bf0df000 nid=0x22 waiting on condition [0x00007ff474cf5000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000c47fda78> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:)
at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:)
at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:)
at java.lang.Thread.run(Thread.java:) Locked ownable synchronizers:
- None "NioBlockingSelector.BlockPoller-1" # daemon prio= os_prio= tid=0x00007ff4bfd80800 nid=0x21 runnable [0x00007ff474df6000]
java.lang.Thread.State: RUNNABLE
at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:)
at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:)
at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:)
- locked <0x00000000c482da08> (a sun.nio.ch.Util$)
- locked <0x00000000c482d9f8> (a java.util.Collections$UnmodifiableSet)
- locked <0x00000000c482d8e0> (a sun.nio.ch.EPollSelectorImpl)
at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:)
at org.apache.tomcat.util.net.NioBlockingSelector$BlockPoller.run(NioBlockingSelector.java:) Locked ownable synchronizers:
- None "task-scheduler-2" # prio= os_prio= tid=0x00007ff47916e800 nid=0x20 waiting on condition [0x00007ff474ef7000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000c3b8a170> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:)
at java.lang.Thread.run(Thread.java:) Locked ownable synchronizers:
- None "task-scheduler-1" # prio= os_prio= tid=0x00007ff4beb91000 nid=0x1f waiting on condition [0x00007ff474ff8000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000c3b8a170> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:)
at java.lang.Thread.run(Thread.java:) Locked ownable synchronizers:
- None "pool-1-thread-2" # prio= os_prio= tid=0x00007ff4bf8cf000 nid=0x1e waiting on condition [0x00007ff4750f9000]
java.lang.Thread.State: TIMED_WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000c4844b98> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:)
at java.lang.Thread.run(Thread.java:) Locked ownable synchronizers:
- None "AMQP Connection 172.16.60.194:5672" # prio= os_prio= tid=0x00007ff4bf8cb000 nid=0x1d runnable [0x00007ff4801b1000]
java.lang.Thread.State: RUNNABLE
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.socketRead(SocketInputStream.java:)
at java.net.SocketInputStream.read(SocketInputStream.java:)
at java.net.SocketInputStream.read(SocketInputStream.java:)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:)
at java.io.BufferedInputStream.read(BufferedInputStream.java:)
- locked <0x00000000c48449b0> (a java.io.BufferedInputStream)
at java.io.DataInputStream.readUnsignedByte(DataInputStream.java:)
at com.rabbitmq.client.impl.Frame.readFrom(Frame.java:)
at com.rabbitmq.client.impl.SocketFrameHandler.readFrame(SocketFrameHandler.java:)
- locked <0x00000000c4844990> (a java.io.DataInputStream)
at com.rabbitmq.client.impl.AMQConnection$MainLoop.run(AMQConnection.java:)
at java.lang.Thread.run(Thread.java:) Locked ownable synchronizers:
- None "spring.cloud.inetutils" # daemon prio= os_prio= tid=0x00007ff4bcb61800 nid=0x1b waiting on condition [0x00007ff4a850d000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000c351d8d8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:)
at java.lang.Thread.run(Thread.java:) Locked ownable synchronizers:
- None "Druid-ConnectionPool-Destroy-2000648320" # daemon prio= os_prio= tid=0x00007ff4bf459000 nid=0x1a waiting on condition [0x00007ff4769fa000]
java.lang.Thread.State: TIMED_WAITING (sleeping)
at java.lang.Thread.sleep(Native Method)
at com.alibaba.druid.pool.DruidDataSource$DestroyConnectionThread.run(DruidDataSource.java:) Locked ownable synchronizers:
- None "Druid-ConnectionPool-Create-2000648320" # daemon prio= os_prio= tid=0x00007ff4bf350800 nid=0x19 waiting on condition [0x00007ff476afb000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000c17b1ab0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:)
at com.alibaba.druid.pool.DruidDataSource$CreateConnectionThread.run(DruidDataSource.java:) Locked ownable synchronizers:
- None "Abandoned connection cleanup thread" # daemon prio= os_prio= tid=0x00007ff4bcaca000 nid=0x18 in Object.wait() [0x00007ff476dfc000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:)
- locked <0x00000000c1bc6960> (a java.lang.ref.ReferenceQueue$Lock)
at com.mysql.jdbc.AbandonedConnectionCleanupThread.run(AbandonedConnectionCleanupThread.java:)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:)
at java.lang.Thread.run(Thread.java:) Locked ownable synchronizers:
- <0x00000000c18877b8> (a java.util.concurrent.ThreadPoolExecutor$Worker) "container-0" # prio= os_prio= tid=0x00007ff47045e800 nid=0x17 waiting on condition [0x00007ff4770fd000]
java.lang.Thread.State: TIMED_WAITING (sleeping)
at java.lang.Thread.sleep(Native Method)
at org.apache.catalina.core.StandardServer.await(StandardServer.java:)
at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer$.run(TomcatEmbeddedServletContainer.java:) Locked ownable synchronizers:
- None "ContainerBackgroundProcessor[StandardEngine[Tomcat]]" # daemon prio= os_prio= tid=0x00007ff4bc2a9800 nid=0x16 waiting on condition [0x00007ff4771fe000]
java.lang.Thread.State: TIMED_WAITING (sleeping)
at java.lang.Thread.sleep(Native Method)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:)
at java.lang.Thread.run(Thread.java:) Locked ownable synchronizers:
- None "Service Thread" # daemon prio= os_prio= tid=0x00007ff4bc137000 nid=0xe runnable [0x0000000000000000]
java.lang.Thread.State: RUNNABLE Locked ownable synchronizers:
- None "C1 CompilerThread1" # daemon prio= os_prio= tid=0x00007ff4bc134000 nid=0xd waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE Locked ownable synchronizers:
- None "C2 CompilerThread0" # daemon prio= os_prio= tid=0x00007ff4bc131000 nid=0xc waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE Locked ownable synchronizers:
- None "Signal Dispatcher" # daemon prio= os_prio= tid=0x00007ff4bc12f000 nid=0xb runnable [0x0000000000000000]
java.lang.Thread.State: RUNNABLE Locked ownable synchronizers:
- None "Finalizer" # daemon prio= os_prio= tid=0x00007ff4bc106800 nid=0xa in Object.wait() [0x00007ff4a9115000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:)
- locked <0x00000000c012f4c8> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:) Locked ownable synchronizers:
- None "Reference Handler" # daemon prio= os_prio= tid=0x00007ff4bc102000 nid=0x9 in Object.wait() [0x00007ff4a9216000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:)
at java.lang.ref.Reference.tryHandlePending(Reference.java:)
- locked <0x00000000c012f508> (a java.lang.ref.Reference$Lock)
at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:) Locked ownable synchronizers:
- None "VM Thread" os_prio= tid=0x00007ff4bc0fa000 nid=0x8 runnable "GC task thread#0 (ParallelGC)" os_prio= tid=0x00007ff4bc01f000 nid=0x6 runnable "GC task thread#1 (ParallelGC)" os_prio= tid=0x00007ff4bc020800 nid=0x7 runnable "VM Periodic Task Thread" os_prio= tid=0x00007ff4bc13d800 nid=0xf waiting on condition JNI global references:
详细的其他使用说明,可以参考下面的文章!!!
参考文档:
https://blog.csdn.net/m0_38110132/article/details/79652962
参考文档: