jstack使用

  1. 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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值