我有一個javadump文件,我必須分析。通常,線程ID在javadumps中以前綴名稱tid:
指定。然而在這個javadumps中,我沒有找到tid:
。那麼使用什麼名稱將線程ID轉儲到此特定文件中?幾行線程轉儲必須包含線程ID是:javadumps中的線程ID是什麼?
3XMTHREADINFO "WLMMonitorSleeper : 0" J9VMThread:0x0000000082586300, j9thread_t:0x00007FC3E0940D30, java/lang/Thread:0x00000000022D6160, state:CW, prio=5
3XMTHREADINFO1 (native thread ID:0x2EA7, native priority:0x5, native policy:UNKNOWN)
3XMTHREADINFO2 (native stack address range from:0x00007FC3AFE39000, to:0x00007FC3AFE7A000, size:0x41000)
(人們可以找到類似的javadumps在this article,這也解釋瞭如何分析線程轉儲,但仍然沒有什麼地方是線程ID談判)
我猜測線程ID必須是第一行中的一個:J9VMThread
,j9thread_t
或java/lang/Thread
。但不確定。沒有在網上找到任何信息,包括IBM的知識中心。如果其中一個是java線程標識,那麼其他兩個是什麼?請提供解釋相同的在線參考。
關於哪些版本的Java此Java轉儲屬於,這些都是從同一個文件中的一些行:
0SECTION GPINFO subcomponent dump routine
NULL ================================
2XHOSLEVEL OS Level : Linux 2.6.32-279.el6.x86_64
2XHCPUS Processors -
3XHCPUARCH Architecture : amd64
3XHNUMCPUS How Many : 2
3XHNUMASUP NUMA is either not supported or has been disabled by user
NULL
1XHERROR2 Register dump section only produced for SIGSEGV, SIGILL or SIGFPE.
NULL
NULL ------------------------------------------------------------------------
0SECTION ENVINFO subcomponent dump routine
NULL =================================
1CIJAVAVERSION JRE 1.6.0 Linux amd64-64 build 20120308_104898 (pxa6460_26sr1fp1-20120309_01(SR1 FP1))
1CIVMVERSION VM build R26_Java626_SR1_FP1_20120308_1511_B104898
1CIJITVERSION r11_20111028_21230ifx5
1CIGCVERSION GC - R26_Java626_SR1_FP1_20120308_1511_B104898_CMPRSS
你想用線程ID做什麼?如果你想將它與WinDbg進行比較,'本地線程ID:0x2EA7'看起來相當不錯。 –
但那些'J9VMThread:0x0000000082586300,j9thread_t:0x00007FC3E0940D30,java/lang/Thread:0x00000000022D6160'? 正如我所說,我會要求他們做一些分析。 – Mahesha999
對我來說,這些都看起來像64位地址。可能是內存中對象的位置。但這只是一個猜測。我還不太熟悉Java。 –