jstack 12
2022-07-03 21:00:11
Full thread dump Java HotSpot(TM) 64-Bit Server VM (24.80-b11 mixed mode):
"Attach Listener" daemon prio=10 tid=0x00007fcb54001000 nid=0x36 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"Service Thread" daemon prio=10 tid=0x00007fcb9415e800 nid=0x18 runnable [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"C2 CompilerThread1" daemon prio=10 tid=0x00007fcb9415c800 nid=0x17 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"C2 CompilerThread0" daemon prio=10 tid=0x00007fcb9415a000 nid=0x16 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"Signal Dispatcher" daemon prio=10 tid=0x00007fcb94150000 nid=0x15 runnable [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"Finalizer" daemon prio=10 tid=0x00007fcb94136800 nid=0x14 in Object.wait() [0x00007fcb9076f000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x0000000756504858> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:135)
- locked <0x0000000756504858> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:151)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:209)
"Reference Handler" daemon prio=10 tid=0x00007fcb94134800 nid=0x13 in Object.wait() [0x00007fcb9087f000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x0000000756504470> (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 <0x0000000756504470> (a java.lang.ref.Reference$Lock)
"main" prio=10 tid=0x00007fcb94009000 nid=0xd waiting on condition [0x00007fcb9b58f000]
java.lang.Thread.State: TIMED_WAITING (sleeping)
at java.lang.Thread.sleep(Native Method)
at java.lang.Thread.sleep(Thread.java:340)
at java.util.concurrent.TimeUnit.sleep(TimeUnit.java:360)
at demo.MathGame.main(MathGame.java:17)
"VM Thread" prio=10 tid=0x00007fcb94130000 nid=0x12 runnable
"GC task thread#0 (ParallelGC)" prio=10 tid=0x00007fcb9401f000 nid=0xe runnable
"GC task thread#1 (ParallelGC)" prio=10 tid=0x00007fcb94021000 nid=0xf runnable
"GC task thread#2 (ParallelGC)" prio=10 tid=0x00007fcb94023000 nid=0x10 runnable
"GC task thread#3 (ParallelGC)" prio=10 tid=0x00007fcb94024800 nid=0x11 runnable
"VM Periodic Task Thread" prio=10 tid=0x00007fcb94161800 nid=0x19 waiting on condition
JNI global references: 108
2 jstack -l 12
锁相关信息
2022-07-03 21:00:38
Full thread dump Java HotSpot(TM) 64-Bit Server VM (24.80-b11 mixed mode):
"Attach Listener" daemon prio=10 tid=0x00007fcb54001000 nid=0x36 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
Locked ownable synchronizers:
- None
"Service Thread" daemon prio=10 tid=0x00007fcb9415e800 nid=0x18 runnable [0x0000000000000000] java.lang.Thread.State: RUNNABLE
Locked ownable synchronizers:
- None
"C2 CompilerThread1" daemon prio=10 tid=0x00007fcb9415c800 nid=0x17 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
Locked ownable synchronizers:
- None
"C2 CompilerThread0" daemon prio=10 tid=0x00007fcb9415a000 nid=0x16 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
Locked ownable synchronizers:
- None
"Signal Dispatcher" daemon prio=10 tid=0x00007fcb94150000 nid=0x15 runnable [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
Locked ownable synchronizers:
- None
"Finalizer" daemon prio=10 tid=0x00007fcb94136800 nid=0x14 in Object.wait() [0x00007fcb9076f000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x0000000756504858> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:135)
- locked <0x0000000756504858> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:151)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:209)
Locked ownable synchronizers:
- None
"Reference Handler" daemon prio=10 tid=0x00007fcb94134800 nid=0x13 in Object.wait() [0x00007fcb9087f000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x0000000756504470> (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 <0x0000000756504470> (a java.lang.ref.Reference$Lock)
Locked ownable synchronizers:
- None
"main" prio=10 tid=0x00007fcb94009000 nid=0xd waiting on condition [0x00007fcb9b58f000]
java.lang.Thread.State: TIMED_WAITING (sleeping)
at java.lang.Thread.sleep(Native Method)
at java.lang.Thread.sleep(Thread.java:340)
at java.util.concurrent.TimeUnit.sleep(TimeUnit.java:360)
at demo.MathGame.main(MathGame.java:17)
Locked ownable synchronizers:
- None
"VM Thread" prio=10 tid=0x00007fcb94130000 nid=0x12 runnable
"GC task thread#0 (ParallelGC)" prio=10 tid=0x00007fcb9401f000 nid=0xe runnable
"GC task thread#1 (ParallelGC)" prio=10 tid=0x00007fcb94021000 nid=0xf runnable
"GC task thread#2 (ParallelGC)" prio=10 tid=0x00007fcb94023000 nid=0x10 runnable
"GC task thread#3 (ParallelGC)" prio=10 tid=0x00007fcb94024800 nid=0x11 runnable
"VM Periodic Task Thread" prio=10 tid=0x00007fcb94161800 nid=0x19 waiting on condition
JNI global references: 108
3 jstack -m 287·
有权限限制。
- 临时开启.
echo 0 > /proc/sys/kernel/yama/ptrace_scope - 永久开启:
/etc/sysctl.d/10-ptrace.conf
添加或修改为以下这一句:(0:允许, 1:不允许)
kernel.yama.ptrace_scope = 0
Attaching to process ID 287, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 25.202-b08
Deadlock Detection:
No deadlocks found.
----------------- 288 -----------------
0x00007fb4a805dad8 __pthread_cond_timedwait + 0x238
----------------- 289 -----------------
0x00007fb4a805d7b2 __pthread_cond_wait + 0x1e2
----------------- 290 -----------------
0x00007fb4a805d7b2 __pthread_cond_wait + 0x1e2
----------------- 291 -----------------
0x00007fb4a805d7b2 __pthread_cond_wait + 0x1e2
----------------- 292 -----------------
0x00007fb4a805d7b2 __pthread_cond_wait + 0x1e2
----------------- 293 -----------------
0x00007fb4a805dad8 __pthread_cond_timedwait + 0x238
----------------- 294 -----------------
0x00007fb4a805d7b2 __pthread_cond_wait + 0x1e2
----------------- 295 -----------------
0x00007fb4a805d7b2 __pthread_cond_wait + 0x1e2
----------------- 296 -----------------
0x00007fb4a8060174 do_futex_wait.constprop.0 + 0x34
----------------- 297 -----------------
0x00007fb4a805dad8 __pthread_cond_timedwait + 0x238
----------------- 298 -----------------
0x00007fb4a805dad8 __pthread_cond_timedwait + 0x238
----------------- 299 -----------------
0x00007fb4a805dad8 __pthread_cond_timedwait + 0x238
----------------- 300 -----------------
0x00007fb4a805d7b2 __pthread_cond_wait + 0x1e2
----------------- 301 -----------------
0x00007fb4a805dad8 __pthread_cond_timedwait + 0x238
----------------- 287 -----------------
0x00007fb4a80584a7 __pthread_clockjoin_ex + 0x237