2016-05-15 53 views
1

我想查看jitdump.20160505.165247.149.0004.dmp文件。
它由IBM JVM 1.8在崩潰時生成。有誰知道如何閱讀dmp文件?如何閱讀IBM jit轉儲文件

我試圖用jextract來分析它,但它的投訴如下:

/opt/ibm/ibm-java-x86_64-80/jre/bin/jextract /tmp/jitdump.20160505.165247.149.0004.dmp -v 
Loading dump file... 
Error. Dump type not recognised, file: /tmp/jitdump.20160505.165247.149.0004.dmp 

當試圖通過MAT + DTFJ打開jitdump文件,這裏是錯誤消息:

Error opening heap dump 'jitdump.20160505.165247.149.0004.dmp'. Check the error log for further details. 
Unable to read dump C:\Users\IBM_ADMIN\Desktop\core_files\opt\ibm\apm\playback\selenium\jitdump.20160505.165247.149.0004.dmp metafile null in DTFJ format DTFJ-J9 (java.io.IOException) 
Unable to read dump C:\Users\IBM_ADMIN\Desktop\core_files\opt\ibm\apm\playback\selenium\jitdump.20160505.165247.149.0004.dmp metafile null in DTFJ format DTFJ-J9 
No Image sources were found for C:\Users\IBM_ADMIN\Desktop\core_files\opt\ibm\apm\playback\selenium\jitdump.20160505.165247.149.0004.dmp (java.io.IOException) 
No Image sources were found for C:\Users\IBM_ADMIN\Desktop\core_files\opt\ibm\apm\playback\selenium\jitdump.20160505.165247.149.0004.dmp 

回答

0

該文件僅用於IBM內部分析,JIT轉儲文件的內容對沒有深入瞭解IBM JDK的JIT編譯器內部的人員沒有用。 JIT轉儲文件的存在並不意味着遇到了JIT問題,該文件被生成用於在JVM崩潰期間收集數據,以便如果崩潰被確定爲JIT問題,那麼IBM將有更好的機會修復問題而不必通過多次重新創建問題來詢問更多數據。

+0

接受這個答案,至少我明白,如果沒有IBM JIT編譯器的知識,我無法理解jitdump的內容。 – Xiaoming

+0

是的,在答案中提出的另一點是,無論實際問題是否與JIT相關,都可以生成jitdump。即,jitdump只是IBM JDK爲了能夠進行事後分析而創建的轉儲之一。崩潰輸出是否說明它在JIT模塊或JIT生成的代碼中崩潰? – vijaysun

+0

是的。它在JIT模塊中墜毀。 1XHEXCPMODULE模塊:/opt/ibm/ibm-java-x86_64-80/jre/lib/amd64/compressedrefs/libj9jit28.so。收到轉儲事件「gpf」。 Java堆大小看起來不錯,在javacore文件中找不到死鎖。這就是我試圖研究jitdump的原因 – Xiaoming