JAVA/지식

[장애조치] hs-err-pid 로그 분석

우엥우아앙 2021. 10. 27. 02:05
  • 원인
    • JVM 도 애플리케이션이므로 버그가 존재한다.
    • 이러한 버그로 인해서 JVM에 Crash 발생
  • 로그 형태
    • JVM이 비정상적으로 종료되면, hs_err_pid (hotspot), javacore (IBM) 과 같은 형태로 남기게 된다.
    • 오라클의 경우 product flag를 사용
      -XX:ErrorFile=/var/log/java/hs_err_pid%p.log
      Java Platform, Standard Edition Troubleshooting Guide > Location of Fatal Error Log
    • IBM의 경우 .profile 환경 변수를 사용
      export IBM_JAVACOREDIR=/somewhere/dumpdir
      Changing the location of javacore, heapdump and core file generated by TIP
      • /tmp usage full : /tmp 파일시스템이 다 찼다면 로그가 기록되지 않습니다.
      • 권한 문제 : java 프로세스를 구동 중인 계정이 대상 경로에 쓰기 권한이 없어도 로그가 기록되지 않습니다. 이 경우 JVM 옵션에 로그 경로를 설정합니다.
      • JVM Bug : JVM Crash도 버그, Crash 로그를 기록하지 못하는 것도 결국 JVM Bug입니다. 원인 규명이 매우 어렵습니다.
    • 그래도 로그가 남지 않는 경우라면 다음 상황을 의심할 수 있습니다.
  • 에러로그 보는법
 

개발자의 하루

Welcome to the IZEYE's world. I'm a member of CTB (CushionTheBlow).

devday.tistory.com