jstack:查看当前所有线程的状态和运行情况
jstack [-option] pid
Options:
-F to force a thread dump. Use when jstack does not respond (process is hung)
-m to print both java and native frames (mixed mode)
-l long listing. Prints additional information about locks
注意事项:
此处线程id为16进制,10进制转16进制 printf “%x” 十进制 16进制转10进制 printf “%d” 0x十进制数
/nemo/jdk/bin/jstack 239637
2021-04-12 21:37:29
Full thread dump Java HotSpot™ 64-Bit Server VM (24.65-b04 mixed mode):
“http-bio-8080-exec-320” daemon prio=10 tid=0x00007faa4809e000 nid=0x8eec waiting on condition [0x00007faa60f95000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x000000074307fa08> (a java.util.concurrent.locks.AbstractQueuedSynchronizer
C
o
n
d
i
t
i
o
n
O
b
j
e
c
t
)
a
t
j
a
v
a
.
u
t
i
l
.
c
o
n
c
u
r
r
e
n
t
.
l
o
c
k
s
.
L
o
c
k
S
u
p
p
o
r
t
.
p
a
r
k
(
L
o
c
k
S
u
p
p
o
r
t
.
j
a
v
a
:
186
)
a
t
j
a
v
a
.
u
t
i
l
.
c
o
n
c
u
r
r
e
n
t
.
l
o
c
k
s
.
A
b
s
t
r
a
c
t
Q
u
e
u
e
d
S
y
n
c
h
r
o
n
i
z
e
r
ConditionObject) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186) at java.util.concurrent.locks.AbstractQueuedSynchronizer
ConditionObject)atjava.util.concurrent.locks.LockSupport.park(LockSupport.java:186)atjava.util.concurrent.locks.AbstractQueuedSynchronizerConditionObject.await(AbstractQueuedSynchronizer.java:2043)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:104)
at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:32)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
at java.util.concurrent.ThreadPoolExecutor
W
o
r
k
e
r
.
r
u
n
(
T
h
r
e
a
d
P
o
o
l
E
x
e
c
u
t
o
r
.
j
a
v
a
:
615
)
a
t
o
r
g
.
a
p
a
c
h
e
.
t
o
m
c
a
t
.
u
t
i
l
.
t
h
r
e
a
d
s
.
T
a
s
k
T
h
r
e
a
d
Worker.run(ThreadPoolExecutor.java:615) at org.apache.tomcat.util.threads.TaskThread
Worker.run(ThreadPoolExecutor.java:615)atorg.apache.tomcat.util.threads.TaskThreadWrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
“http-bio-8080-exec-319” daemon prio=10 tid=0x00007faa4809c800 nid=0x8eeb waiting on condition [0x00007faa61ca2000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x000000074307fa08> (a java.util.concurrent.locks.AbstractQueuedSynchronizer
C
o
n
d
i
t
i
o
n
O
b
j
e
c
t
)
a
t
j
a
v
a
.
u
t
i
l
.
c
o
n
c
u
r
r
e
n
t
.
l
o
c
k
s
.
L
o
c
k
S
u
p
p
o
r
t
.
p
a
r
k
(
L
o
c
k
S
u
p
p
o
r
t
.
j
a
v
a
:
186
)
a
t
j
a
v
a
.
u
t
i
l
.
c
o
n
c
u
r
r
e
n
t
.
l
o
c
k
s
.
A
b
s
t
r
a
c
t
Q
u
e
u
e
d
S
y
n
c
h
r
o
n
i
z
e
r
ConditionObject) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186) at java.util.concurrent.locks.AbstractQueuedSynchronizer
ConditionObject)atjava.util.concurrent.locks.LockSupport.park(LockSupport.java:186)atjava.util.concurrent.locks.AbstractQueuedSynchronizerConditionObject.await(AbstractQueuedSynchronizer.java:2043)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:104)
at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:32)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
at java.util.concurrent.ThreadPoolExecutor
W
o
r
k
e
r
.
r
u
n
(
T
h
r
e
a
d
P
o
o
l
E
x
e
c
u
t
o
r
.
j
a
v
a
:
615
)
a
t
o
r
g
.
a
p
a
c
h
e
.
t
o
m
c
a
t
.
u
t
i
l
.
t
h
r
e
a
d
s
.
T
a
s
k
T
h
r
e
a
d
Worker.run(ThreadPoolExecutor.java:615) at org.apache.tomcat.util.threads.TaskThread
Worker.run(ThreadPoolExecutor.java:615)atorg.apache.tomcat.util.threads.TaskThreadWrappingRunnable.run(TaskThread.java:61)
/nemo/jdk/bin/jstack -m 239637
Attaching to process ID 239637, please wait…
Debugger attached successfully.
Server compiler detected.
JVM version is 24.65-b04
Deadlock Detection:
No deadlocks found.
----------------- 239638 -----------------
0x00000039ef80b68c __pthread_cond_wait + 0xcc
0x00007faa754beaaf _ZN7Monitor5IWaitEP6Threadl + 0xef
0x00007faa754bf23e _ZN7Monitor4waitEblb + 0x22e
0x00007faa752339e3 _ZN13GCTaskManager8get_taskEj + 0x43
0x00007faa752350a8 _ZN12GCTaskThread3runEv + 0x188
0x00007faa754fd988 _ZL10java_startP6Thread + 0x108
----------------- 239639 -----------------
0x00000039ef80b68c __pthread_cond_wait + 0xcc
0x00007faa754beaaf _ZN7Monitor5IWaitEP6Threadl + 0xef
0x00007faa754bf23e _ZN7Monitor4waitEblb + 0x22e
0x00007faa752339e3 _ZN13GCTaskManager8get_taskEj + 0x43
0x00007faa752350a8 _ZN12GCTaskThread3runEv + 0x188
0x00007faa754fd988 _ZL10java_startP6Thread + 0x108
----------------- 239640 -----------------
0x00000039ef80b68c __pthread_cond_wait + 0xcc
0x00007faa754beaaf _ZN7Monitor5IWaitEP6Threadl + 0xef
0x00007faa754bf23e _ZN7Monitor4waitEblb + 0x22e
0x00007faa752339e3 _ZN13GCTaskManager8get_taskEj + 0x43
0x00007faa752350a8 _ZN12GCTaskThread3runEv + 0x188
0x00007faa754fd988 _ZL10java_startP6Thread + 0x108
----------------- 239641 -----------------