hs_err 로그 파일이 생성되는 이유

자바 애플리케이션을 구동하다 보면 hs_err_pidXXXX.log 형태의 로그가 남는 경우가 있습니다. hs_err 로그는 JVM이 생성해 주는 에러 로그입니다. 주로 자바 프로그램이 강제 종료되거나 시작되지 못하는 등의 치명적인 오류가 발생했을 때 그 원인을 알려주기 위해 생성됩니다. hs_err 로그 파일에 대해 알아보겠습니다.

hs_err 파일이란?

hs_err 파일은 HotSpot Error의 약자로 자바 프로그램이 치명적인 오류로 충돌 시 JVM에서 생성하는 로그 파일입니다. 파일명 형태는 hs_err_pidXXXX.log와 같은데 XXXX에는 프로세스의 PID가 들어갑니다. 해당 로그 파일은 애플리케이션이 설치된 경로에 생성됩니다.

 

hs_err 파일에는 스레드 덤프, 메모리 사용량, 로드된 클래스, 라이브러리 목록 등을 포함해서 충돌에 대한 정보가 담겨있습니다. 예를 들어 자바 프로그램이 OutOfMemoryError로 강제 종료되는 경우 hs_err 파일에는 문제 발생 당시의 프로그램 메모리 사용량에 대한 정보가 기록됩니다. 또 이 문제가 메모리 누수로 발생했는지, 프로그램을 실행할 만큼 메모리가 충분치 않았는지 등을 알려줍니다.

 

hs_err 로그가 생성되면 개발자나 엔지니어에게는 디버깅을 위한 중요한 단서가 됩니다. 프로세스 충돌 문제 말고도 병목 현상이 발생하는 등의 성능 이슈가 있을 때 메모리 사용량에 대한 정보를 제공하기도 합니다. 만약 애플리케이션에 hs_err 로그 파일이 생성되면 지나치지 말고 유심히 봐야 합니다.

반응형

댓글

Designed by JB FACTORY