- 원인
- 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
'JAVA > 지식' 카테고리의 다른 글
[Java] Spring과 Spring Boot 의 차이점 (0) | 2021.12.01 |
---|---|
[장애조치] .hprof 로그 (0) | 2021.10.27 |
[Java] GC(Garbage Collection) 개념 및 동작원리 이해 (0) | 2021.08.18 |
JDBC & DBCP 란? 그리고 JNDI 와의 관계 (0) | 2021.08.01 |
JNDI 란? 이름으로 쉽게 찾을 수 있는 기능 (0) | 2021.08.01 |