如何分析java Thread DUMP
如何分析java Thread dump檔案,從而找到問題的根源,以下面資訊為例子:
是否為正常的日誌資訊,因為鎖是正常釋放的??
"ExecuteThread: '17' for queue: 'JMS.TimerClientPool'" id=139 idx=0x250 tid=321304 prio=5 alive, in native, waiting, daemon
-- Waiting for notification on: weblogic/kernel/ExecuteThread@[author]0x1e2615d0[/author][fat lock]
at jrockit/vm/Threads.waitForNotifySignal(JLjava/lang/Object;)Z(Native Method)
at java/lang/Object.wait(J)V(Native Method)
at java/lang/Object.wait(Object.java:429)
at weblogic/kernel/ExecuteThread.waitForRequest(ExecuteThread.java:154)
^-- Lock released while waiting: weblogic/kernel/ExecuteThread@[author]0x1e2615d0[/author][fat lock]
at weblogic/kernel/ExecuteThread.run(ExecuteThread.java:174)
at jrockit/vm/RNI.c2java(IIIII)V(Native Method)
-- end of trace
下面的又是該如何分析?
從dump日誌中可以看到執行緒是阻塞的狀態,等待獲取 java/lang/String@[author][author][author]0x12442b88[/author][/author][/author]
但是該鎖具體是哪個如何分析?
"ExecuteThread: '2' for queue: 'weblogic.socket.Muxer'" id=93 idx=0x198 tid=320415 prio=5 alive, in native, blocked, daemon
-- Blocked trying to get lock: java/lang/String@[author][author][author]0x12442b88[/author][/author][/author][fat lock]
at jrockit/vm/Threads.waitForUnblockSignal()V(Native Method)
at jrockit/vm/Locks.fatLockBlockOrSpin(Locks.java:1630)
at jrockit/vm/Locks.fatLockReacquire(Locks.java:1865)
at jrockit/vm/Locks.lockFat(Locks.java:1736)
at jrockit/vm/Locks.monitorEnterSecondStage(Locks.java:1277)
at jrockit/vm/Locks.monitorEnter(Locks.java:2389)
at weblogic/socket/PosixSocketMuxer.processSockets(PosixSocketMuxer.java:91)
at weblogic/socket/SocketReaderRequest.execute(SocketReaderRequest.java:32)
at weblogic/kernel/ExecuteThread.execute(ExecuteThread.java:224)
at weblogic/kernel/ExecuteThread.run(ExecuteThread.java:183)
at jrockit/vm/RNI.c2java(IIIII)V(Native Method)
-- end of trace
Blocked lock chains
===================
Chain 2:
"ExecuteThread: '1' for queue: 'weblogic.socket.Muxer'" id=92 idx=0x194 tid=320414 waiting for java/lang/String@[author][author][author]0x12442b88[/author][/author][/author] held by:
"ExecuteThread: '2' for queue: 'weblogic.socket.Muxer'" id=93 idx=0x198 tid=320415 in chain 1
Open lock chains
================
Chain 1:
"ExecuteThread: '0' for queue: 'weblogic.socket.Muxer'" id=91 idx=0x190 tid=320413 waiting for java/lang/String@[author][author][author]0x12442b88[/author][/author][/author] held by:
"ExecuteThread: '2' for queue: 'weblogic.socket.Muxer'" id=93 idx=0x198 tid=320415 (active)
謝謝!
是否為正常的日誌資訊,因為鎖是正常釋放的??
"ExecuteThread: '17' for queue: 'JMS.TimerClientPool'" id=139 idx=0x250 tid=321304 prio=5 alive, in native, waiting, daemon
-- Waiting for notification on: weblogic/kernel/ExecuteThread@[author]0x1e2615d0[/author][fat lock]
at jrockit/vm/Threads.waitForNotifySignal(JLjava/lang/Object;)Z(Native Method)
at java/lang/Object.wait(J)V(Native Method)
at java/lang/Object.wait(Object.java:429)
at weblogic/kernel/ExecuteThread.waitForRequest(ExecuteThread.java:154)
^-- Lock released while waiting: weblogic/kernel/ExecuteThread@[author]0x1e2615d0[/author][fat lock]
at weblogic/kernel/ExecuteThread.run(ExecuteThread.java:174)
at jrockit/vm/RNI.c2java(IIIII)V(Native Method)
-- end of trace
下面的又是該如何分析?
從dump日誌中可以看到執行緒是阻塞的狀態,等待獲取 java/lang/String@[author][author][author]0x12442b88[/author][/author][/author]
但是該鎖具體是哪個如何分析?
"ExecuteThread: '2' for queue: 'weblogic.socket.Muxer'" id=93 idx=0x198 tid=320415 prio=5 alive, in native, blocked, daemon
-- Blocked trying to get lock: java/lang/String@[author][author][author]0x12442b88[/author][/author][/author][fat lock]
at jrockit/vm/Threads.waitForUnblockSignal()V(Native Method)
at jrockit/vm/Locks.fatLockBlockOrSpin(Locks.java:1630)
at jrockit/vm/Locks.fatLockReacquire(Locks.java:1865)
at jrockit/vm/Locks.lockFat(Locks.java:1736)
at jrockit/vm/Locks.monitorEnterSecondStage(Locks.java:1277)
at jrockit/vm/Locks.monitorEnter(Locks.java:2389)
at weblogic/socket/PosixSocketMuxer.processSockets(PosixSocketMuxer.java:91)
at weblogic/socket/SocketReaderRequest.execute(SocketReaderRequest.java:32)
at weblogic/kernel/ExecuteThread.execute(ExecuteThread.java:224)
at weblogic/kernel/ExecuteThread.run(ExecuteThread.java:183)
at jrockit/vm/RNI.c2java(IIIII)V(Native Method)
-- end of trace
Blocked lock chains
===================
Chain 2:
"ExecuteThread: '1' for queue: 'weblogic.socket.Muxer'" id=92 idx=0x194 tid=320414 waiting for java/lang/String@[author][author][author]0x12442b88[/author][/author][/author] held by:
"ExecuteThread: '2' for queue: 'weblogic.socket.Muxer'" id=93 idx=0x198 tid=320415 in chain 1
Open lock chains
================
Chain 1:
"ExecuteThread: '0' for queue: 'weblogic.socket.Muxer'" id=91 idx=0x190 tid=320413 waiting for java/lang/String@[author][author][author]0x12442b88[/author][/author][/author] held by:
"ExecuteThread: '2' for queue: 'weblogic.socket.Muxer'" id=93 idx=0x198 tid=320415 (active)
謝謝!
相關文章
- 三個例項演示 Java Thread Dump 日誌分析Javathread
- java core dump分析實戰Java
- 詳解JAVA執行緒問題診斷工具Thread DumpJava執行緒thread
- java Thread的狀態分析Javathread
- JVM dump和分析JVM
- 啃碎併發(四):Java執行緒Dump分析Java執行緒
- Java多執行緒之Thread原始碼分析Java執行緒thread原始碼
- jvm-46-jvm Thread Dump 執行緒的資訊獲取+可視分析化工具 FastThreadJVMthread執行緒AST
- 使用Visual Studio分析dump
- 使用Visual Studio分析.NET Dump
- Java-關於ThreadJavathread
- oracle之 如何 dump logfileOracle
- WinDbg分析32位應用程式dump
- Visual Studio 快速分析 .NET Dump 檔案
- Three ways to create Multi Thread in JavathreadJava
- Android/java 多執行緒(一)-Thread的使用以及原始碼分析AndroidJava執行緒thread原始碼
- windbg分析dump-解決mscorwks不匹配
- Java 中的執行緒 threadJava執行緒thread
- AsyncTask與Thread+Handler簡要分析thread
- Java報錯:Exception in thread "main" java.lang.UnsupportedClassVersionErrorJavaExceptionthreadAIError
- Java 原始碼如何分析?Java原始碼
- Windbg下使用dump分析記憶體溢位記憶體溢位
- 記一次dump檔案分析歷程
- Java中Thread 和Runnable 深入理解Javathread
- java多執行緒之Thread類Java執行緒thread
- Java之Thread類的常用方法 .sleep()Javathread
- Java Thread的join() 之刨根問底Javathread
- 2018.03.12、Java-Thread學習筆記Javathread筆記
- Java多執行緒(二):Thread類Java執行緒thread
- Java多執行緒Thread類使用Java執行緒thread
- 效能監控之常見 Java Heap Dump 方法Java
- 如何區分 Connection、Thread和SessionthreadSession
- 「譯」Java Thread vs AsyncTask:該用哪個?Javathread
- java.lang.*中Thread 原始碼詳解Javathread原始碼
- Exception in thread "main" java.lang.NullPointerException: Cannot invokeExceptionthreadAIJavaNull
- win10藍屏dump分析方法_win10藍屏dump檔案怎麼看異常Win10
- Java命令學習系列(零)——常見命令及Java Dump介紹Java
- core dump如何解決排查的過程
- Linux dump命令有什麼作用?如何使用?Linux