jvisualvm  打开JVisualVM(能够监控线程,内存情况,查看方法的CPU时间和内存中的对 象,已被GC的对象,反向查看分配的堆栈,详细信息参见JVisualVM 简介)

可以点击右上角的 线程Dump 查看线程的具体信息:

2020-08-03 16:03:52
Full thread dump Java HotSpot(TM) 64-Bit Server VM (25.92-b14 mixed mode):

"RMI TCP Connection(2)-10.6.240.98" #24 daemon prio=5 os_prio=0 tid=0x000000001aa92000 nid=0x6a68 runnable [0x000000001afce000]
   java.lang.Thread.State: RUNNABLE
    at java.net.SocketInputStream.socketRead0(Native Method)
    at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
    at java.net.SocketInputStream.read(SocketInputStream.java:170)
    at java.net.SocketInputStream.read(SocketInputStream.java:141)
    at java.io.BufferedInputStream.fill(BufferedInputStream.java:246)
    at java.io.BufferedInputStream.read(BufferedInputStream.java:265)
    - locked <0x00000000d7aa1600> (a java.io.BufferedInputStream)
    at java.io.FilterInputStream.read(FilterInputStream.java:83)
    at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:550)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:683)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler$$Lambda$1/1978780565.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)

Locked ownable synchronizers:
    - <0x00000000d7587230> (a java.util.concurrent.ThreadPoolExecutor$Worker)

"JMX server connection timeout 23" #23 daemon prio=5 os_prio=0 tid=0x000000001a9df000 nid=0x3a84 in Object.wait() [0x000000001aecf000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    at com.sun.jmx.remote.internal.ServerCommunicatorAdmin$Timeout.run(ServerCommunicatorAdmin.java:168)
    - locked <0x00000000d7855800> (a [I)
    at java.lang.Thread.run(Thread.java:745)

Locked ownable synchronizers:
    - None

"RMI Scheduler(0)" #22 daemon prio=5 os_prio=0 tid=0x000000001a9dc000 nid=0x5294 waiting on condition [0x000000001adcf000]
   java.lang.Thread.State: TIMED_WAITING (parking)
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for  <0x00000000d7500178> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
    at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093)
    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)

Locked ownable synchronizers:
    - None

"RMI TCP Connection(idle)" #21 daemon prio=5 os_prio=0 tid=0x000000001a82f800 nid=0x587c waiting on condition [0x000000001accf000]
   java.lang.Thread.State: TIMED_WAITING (parking)
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for  <0x00000000d74f0170> (a java.util.concurrent.SynchronousQueue$TransferStack)
    at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
    at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:460)
    at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362)
    at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:941)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1066)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)

Locked ownable synchronizers:
    - None

"RMI TCP Accept-0" #20 daemon prio=5 os_prio=0 tid=0x000000001a966800 nid=0x2b30 runnable [0x000000001a3bf000]
   java.lang.Thread.State: RUNNABLE
    at java.net.DualStackPlainSocketImpl.accept0(Native Method)
    at java.net.DualStackPlainSocketImpl.socketAccept(DualStackPlainSocketImpl.java:131)
    at java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:409)
    at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:199)
    - locked <0x00000000d75028f0> (a java.net.SocksSocketImpl)
    at java.net.ServerSocket.implAccept(ServerSocket.java:545)
    at java.net.ServerSocket.accept(ServerSocket.java:513)
    at sun.management.jmxremote.LocalRMIServerSocketFactory$1.accept(LocalRMIServerSocketFactory.java:52)
    at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.executeAcceptLoop(TCPTransport.java:400)
    at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.run(TCPTransport.java:372)
    at java.lang.Thread.run(Thread.java:745)

Locked ownable synchronizers:
    - None

"c3" #18 prio=5 os_prio=0 tid=0x0000000019045000 nid=0x6888 waiting on condition [0x000000001a2be000]
   java.lang.Thread.State: WAITING (parking)
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for  <0x00000000d6ab64b8> (a java.util.concurrent.locks.ReentrantLock$FairSync)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:870)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1199)
    at java.util.concurrent.locks.ReentrantLock$FairSync.lock(ReentrantLock.java:224)
    at java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:285)
    at com.smoner.lock.condition.ConditionTest1$Consumer.run(ConditionTest1.java:77)
    at java.lang.Thread.run(Thread.java:745)

Locked ownable synchronizers:
    - None

"c2" #17 prio=5 os_prio=0 tid=0x0000000019044800 nid=0x6428 waiting on condition [0x000000001a1bf000]
   java.lang.Thread.State: WAITING (parking)
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for  <0x00000000d6ab64b8> (a java.util.concurrent.locks.ReentrantLock$FairSync)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:870)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1199)
    at java.util.concurrent.locks.ReentrantLock$FairSync.lock(ReentrantLock.java:224)
    at java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:285)
    at com.smoner.lock.condition.ConditionTest1$Consumer.run(ConditionTest1.java:77)
    at java.lang.Thread.run(Thread.java:745)

Locked ownable synchronizers:
    - None

"c1" #16 prio=5 os_prio=0 tid=0x0000000019041800 nid=0x29c4 waiting on condition [0x000000001a0be000]
   java.lang.Thread.State: WAITING (parking)
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for  <0x00000000d6ab64b8> (a java.util.concurrent.locks.ReentrantLock$FairSync)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:870)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1199)
    at java.util.concurrent.locks.ReentrantLock$FairSync.lock(ReentrantLock.java:224)
    at java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:285)
    at com.smoner.lock.condition.ConditionTest1$Consumer.run(ConditionTest1.java:77)
    at java.lang.Thread.run(Thread.java:745)

Locked ownable synchronizers:
    - None

"p2" #14 prio=5 os_prio=0 tid=0x0000000019040000 nid=0x5fc8 waiting on condition [0x0000000019ebf000]
   java.lang.Thread.State: WAITING (parking)
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for  <0x00000000d6ab65d8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
    at com.smoner.lock.condition.ConditionTest1$Produce.run(ConditionTest1.java:55)
    at java.lang.Thread.run(Thread.java:745)

Locked ownable synchronizers:
    - None

"p1" #13 prio=5 os_prio=0 tid=0x000000001903f800 nid=0x5b08 waiting on condition [0x0000000019dbf000]
   java.lang.Thread.State: WAITING (parking)
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for  <0x00000000d6ab65d8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
    at com.smoner.lock.condition.ConditionTest1$Produce.run(ConditionTest1.java:55)
    at java.lang.Thread.run(Thread.java:745)

Locked ownable synchronizers:
    - None

"Service Thread" #12 daemon prio=9 os_prio=0 tid=0x0000000017b4f000 nid=0x69c0 runnable [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

Locked ownable synchronizers:
    - None

"C1 CompilerThread2" #11 daemon prio=9 os_prio=2 tid=0x0000000017b55800 nid=0x64a8 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

Locked ownable synchronizers:
    - None

"C2 CompilerThread1" #10 daemon prio=9 os_prio=2 tid=0x0000000017b55000 nid=0x6af4 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

Locked ownable synchronizers:
    - None

"C2 CompilerThread0" #9 daemon prio=9 os_prio=2 tid=0x0000000017b51800 nid=0x5e1c waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

Locked ownable synchronizers:
    - None

"JDWP Command Reader" #8 daemon prio=10 os_prio=0 tid=0x0000000017b42800 nid=0x6a8 runnable [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

Locked ownable synchronizers:
    - None

"JDWP Event Helper Thread" #7 daemon prio=10 os_prio=0 tid=0x0000000017b3f000 nid=0x5f98 runnable [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

Locked ownable synchronizers:
    - None

"JDWP Transport Listener: dt_socket" #6 daemon prio=10 os_prio=0 tid=0x0000000017b31000 nid=0x6920 runnable [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

Locked ownable synchronizers:
    - None

"Attach Listener" #5 daemon prio=5 os_prio=2 tid=0x0000000017b17000 nid=0x6088 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

Locked ownable synchronizers:
    - None

"Signal Dispatcher" #4 daemon prio=9 os_prio=2 tid=0x0000000017b16800 nid=0x4468 runnable [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

Locked ownable synchronizers:
    - None

"Finalizer" #3 daemon prio=8 os_prio=1 tid=0x0000000017af0000 nid=0x51e8 in Object.wait() [0x0000000018e5e000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x00000000d6988ee0> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143)
    - locked <0x00000000d6988ee0> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:164)
    at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:209)

Locked ownable synchronizers:
    - None

"Reference Handler" #2 daemon prio=10 os_prio=2 tid=0x00000000030f8000 nid=0x1698 in Object.wait() [0x0000000018d5f000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x00000000d6986b50> (a java.lang.ref.Reference$Lock)
    at java.lang.Object.wait(Object.java:502)
    at java.lang.ref.Reference.tryHandlePending(Reference.java:191)
    - locked <0x00000000d6986b50> (a java.lang.ref.Reference$Lock)
    at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:153)

Locked ownable synchronizers:
    - None

"main" #1 prio=5 os_prio=0 tid=0x0000000003008800 nid=0x68c8 in Object.wait() [0x0000000002fff000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x00000000d6ab67d8> (a java.lang.Thread)
    at java.lang.Thread.join(Thread.java:1245)
    - locked <0x00000000d6ab67d8> (a java.lang.Thread)
    at java.lang.Thread.join(Thread.java:1319)
    at com.smoner.lock.condition.ConditionTest1.main(ConditionTest1.java:28)

Locked ownable synchronizers:
    - None

"VM Thread" os_prio=2 tid=0x0000000017ac9000 nid=0x69f4 runnable

"GC task thread#0 (ParallelGC)" os_prio=0 tid=0x000000000301e000 nid=0x6318 runnable

"GC task thread#1 (ParallelGC)" os_prio=0 tid=0x000000000301f800 nid=0x6904 runnable

"GC task thread#2 (ParallelGC)" os_prio=0 tid=0x0000000003021000 nid=0x671c runnable

"GC task thread#3 (ParallelGC)" os_prio=0 tid=0x0000000003023800 nid=0x5704 runnable

"VM Periodic Task Thread" os_prio=2 tid=0x0000000018ff7800 nid=0x11fc waiting on condition

JNI global references: 5183

win10 ,jkd8 查看线程状态相关推荐

  1. 多线程调试(gdb命令行和使用集成开发qtcreator查看线程状态)

    我在qtcreator中用调用的gdb找不到如何显示线程号对应的线程名字,因此需要继续学习使用gdb进行多线程调试. 1.创建多线程工程 2.启动进程并查看运行进程对应的id 3.使用gdb连接进程, ...

  2. python封装线程类(启动、终止、查看线程状态)

    文章目录 一.简单说明 二.实现步骤 三.测试 一.简单说明 将启动.终止和查看线程状态的方法封装成类 声明时传入要启动的方法 通过 start.stop 和 state 执行启动.终止 和 查看状态 ...

  3. linux 下查看线程状态

    前言 在调试程序时需要查看各个线程的状态,方便定位问题. 解决 方法1.pstree pstree PID 方法2.top top 然后按H,会显示线程 -p 可以指定PID,但是在嵌入式平台很可能被 ...

  4. 锁与并发工具包与线程池与LockSupport与Fork/Join框架与并行流串行流与阻塞队列与JPS,jstack命令查看死锁查看线程状态与AQS个人笔记九

    朝闻道,夕死可矣 本文共计 86564字,估计阅读时长1小时 点击进入->Thread源码万字逐行解析 文章目录 本文共计 86564字,估计阅读时长1小时 一锁 二Java中13个原子操作类 ...

  5. linux kvm查看线程状态,kvm线程-005-线程状态-THREAD_JUST_BORN

    在kvm内部定义了线程状态,如下: enum { THREAD_JUST_BORN = 1, /* 还没有启动*/ THREAD_ACTIVE = 2, /* 当前正在运行,或者在等待运行的队列中*/ ...

  6. jstack -l pid:查看线程状态,使用的垃圾回收算法,死锁检测

    先jps查看java应用相关id: [quote] C:\Users\Administrator>jps 9712 Bootstrap 6628 8584 Jps 7900 8780 Serve ...

  7. win10系统查看激活状态及是否永久激活

    查看windows系统是否激活 找到"此电脑",右击"属性" 查看windows系统是否永久激活 第一种方法 win+r 进入运行,输入slmgr.vbs -x ...

  8. java 线程状态 jstack_jstack查看jvm线程状态

    有些时候我们需要查看下jvm中的线程执行情况,比如,发现服务器的CPU的负载突然增 高了.出现了死锁.死循环等,我们该如何分析呢? 由于程序是正常运行的,没有任何的输出,从日志方面也看不出什么问题,所 ...

  9. 怎么查看线程的状态及interrupt优雅的关闭线程和interrupt()、interrupted()、isInterrupted()的作用以及区别在哪?

    怎么查看线程状态 jps指令查看我当前的进程ID jstack 线程ID 示例: public class StatusDemo {public static void main(String[] a ...

最新文章

  1. python实现字符串切割
  2. Excel 常用函数 IF 用法
  3. Codeup墓地-问题 A: 算法7-15:迪杰斯特拉最短路径算法
  4. tensorflow之tf.train.exponential_decay()指数衰减法
  5. 轻松部署IE7(下),SMS2003系列之六
  6. Android动态切换主题
  7. [转载]JUnit3 与 JUnit4 的区别
  8. 40道JAVA经典算法面试题(答案)
  9. 一篇Word论文的字体格式是什么?
  10. GBK字库制作、字模数据读取、使用
  11. 我们玩游戏,还是游戏玩我们……
  12. 【记录】读《你在天堂里遇见的五个人》有感
  13. day4-数字类型和列表基础
  14. deprecated注释 原因
  15. Hi 小姐姐,这是你要的瘦身大长腿效果?
  16. 前端实现GIF图片压缩上传
  17. textarea层级问题
  18. android pdf编辑,PDF Reader Pro 功能强大的 PDF 阅读编辑器
  19. Octotree 下载安装
  20. Pom 文件中 maven 依赖出现 omitted for conflict with ..... 问题解决

热门文章

  1. 使用交换机服务器没有响应,登陆难交换机故障现象综合说明
  2. Java 后端技术清单 2023版
  3. Tita OKRs-E 使OKR成为您企业DNA一部分
  4. 计算机硬盘优化策略,如何让机械硬盘更快,几个优化提升机械硬盘速度!
  5. php取tet文件内容,PHP中使用PDFlib TET提取PDF中的文本
  6. 设计模式是什么鬼(抽象工厂)
  7. spark on hive 的部署,和spark on hive (ha)在本地测试步骤
  8. 2014款macbookpro 15-inch 升级硬盘
  9. Android Q 上的Biometric生物识别之Face人脸识别流程
  10. Linux网络服务之DNS服务