JVM當機分析

wenxuehai發表於2024-06-10

1、JVM崩潰常見原因

常見的能夠引起JVM崩潰的原因主要有:

  • 記憶體溢位
  • 執行緒阻塞
  • CPU 使用率過高
  • JVM Crash
  • Java虛擬機器自身的Bug
  • JDK與伺服器(CPU、記憶體、作業系統)的相容性

2、hs_err_pid 日誌檔案分析

hs_err_pid.log 檔案是一個 Java 虛擬機器(JVM)生成的錯誤報告日誌檔案,通常包含了 JVM 崩潰時的詳細資訊。當 JVM 因為各種原因發生致命錯誤時(包括記憶體溢位(OutOfMemoryError)、執行緒死鎖、系統資源不足等問題),會生成一個hs_err_pid_xxx.log(後面的xxx為程序id)這樣的檔案,該檔案包含了導致 JVM crash(JVM崩潰)的重要資訊,我們可以透過分析該檔案定位到導致 JVM Crash 的原因,從而修復保證系統穩定。

預設情況下,該檔案是生成在工作目錄下的,當然也可以透過 JVM 引數指定生成路徑:

相關文章