我有一个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。 –