Technote (FAQ)
疑問
[Simplified Chinese]當發生錯誤資訊”Java VM Exit = NN“時,您應該收集哪些資訊?
原因
通常Java ™虛擬機器(JVM)崩潰時, 系統會報出“Java JVM exit=NN”錯誤資訊。
答案
通常JVM崩潰時會生成以下三種型別的日誌檔案:
Javacore,
Snap trace,
Core dumps。
這三種日誌檔案可能不會同時產生。
Javacore是文字檔案,其中包含JVM崩潰時的狀態資訊。
Javacore通常命名為:
Javacore.
例如: javacore.20080304.1002.1224.txt。
表明該檔案在2008年3月4日上午10:02產生,對應的程式標識(PID)是1224。
Snap trace包含“flight recorder”資料--關於JVM在崩潰之前正在執行的資訊。
該檔案命名為:
SnapNNN.
例如: Snap001.20080705.1112.1234.trc。
表明該檔案在2008年7月5日上午10:02產生,對應的程式標識(PID)是1234。
Core dumps包含崩潰時的程式記憶體空間的完整資訊。
JVM使用它自己的崩潰日誌處理過程併產生core dumps檔案:
core.
Core dump需要jextract(或j9jextract)工具進行處理以收集所需的資訊。
對於Java版本1.2.x,1.3.x,1.4.x:如果使用的是J9 VM請使用“j9jextract”,否則使用jextract。
對於Java版本 1.5和更高版本,“J9”JVM是標準引擎;請使用所提供的jextract程式。
下面簡要介紹使用j9jextract的方法。
首先在JVM中的安裝目錄中找到j9jextract.exe檔案。
Rational Application Developer v6 = = >日誌檔案在
j9jextract在
Rational Application Developer v7 = = >日誌檔案在\jdk\jre\bin
j9jextract在
對於WTE (或WebSphere Application Server) Java VM崩潰:
日誌檔案在
j9jextract在
然後執行
j9extract core.
這將生成一個檔案:
core.
該檔案包含了原始核心檔案,系統庫和其他從崩潰環境收集到的資訊。J9jextract程式可以將JRE目錄中找到。
所以,當您遇到Java VM Exit型別的錯誤時, 應找到:
- javacore檔案
- samp races檔案
- core dumps 檔案(並使用j9jextract處理)
然後進行壓縮,並將它們傳送到IBM技術支援部門。
這些檔案通常過大而不能用電子郵件傳送。
您必須使用 中的方法透過FTP上傳到IBM技術支援部門。
相關資訊
注:一般來說遇到jvm崩潰,如oom、執行緒池滿、連線吃滿等情況,我都需要javacore、heapdump檔案,這對於我們分析當機和其他問題時非常有效的手段,這幾種檔案我一般使用IBM Thead、IBM HEAPDUMP分析工具來分析,用這幾個工具開啟日誌這些轉儲日誌檔案,分析起來非常直觀明瞭。在IBM官網可以下載到最新的版本。