programing

JBoss의 힙 덤프에 HeapDumpOnOutOfMemoryError 매개 변수 사용

prostudy 2022. 7. 28. 22:04
반응형

JBoss의 힙 덤프에 HeapDumpOnOutOfMemoryError 매개 변수 사용

그 다음 추가가 가능하다고 해서-XX:+HeapDumpOnOutOfMemoryErrorJVM 시작 옵션에 대한 매개 변수를 JBoss 시작 스크립트로 지정하여 애플리케이션에서 메모리 부족 오류가 발생했을 때 힙 덤프를 가져옵니다.이 데이터는 어디에 버려질까요?콘솔 전용입니까, 아니면 로그 파일 전용입니까?콘솔만 사용하는 경우 콘솔을 통해 Unix 서버에 로그인하지 않으면 어떻게 됩니까?

Oracle 문서에는 다음과 같이 기술되어 있습니다.

기본적으로는 위의 예시와 같이 힙 덤프는 VM의 작업 디렉토리에 있는 java_pid.hprof라는 파일에 생성됩니다.대체 파일명 또는 디렉토리를 지정할 수 있습니다.-XX:HeapDumpPath=선택.예를들면-XX:HeapDumpPath=/disk2/dumps히프 덤프가 생성됩니다./disk2/dumps디렉토리로 이동합니다.

UNIX 콘솔에서 이 덤프를 볼 수 있습니다.

히프 덤프 경로는 지정된 변수를 배치한 직후에 변수로 제공됩니다.

예:

-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=${DOMAIN_HOME}/logs/mps"

지정된 경로의 콘솔에서 덤프를 볼 수 있습니다.

"VM의 작업 디렉토리"가 무엇을 의미하는지 이해하기 어려웠습니다. 예에서는 Java Service Wrapper 프로그램을 사용하여 jar를 실행하고 있었습니다. 덤프 파일은 래퍼 프로그램을 배치한 디렉토리에 작성되었습니다(예: c:\myapp\bin).제가 이것을 발견한 이유는 파일들이 상당히 클 수 있고 제가 위치를 발견하기 전에 하드 드라이브를 가득 채웠기 때문입니다.

"-XX"를 사용하지 않는 경우:그러면 JBoss EAP/As의 경우 HeapDumpPath" 옵션은 기본적으로 "JBOSS_HOME/bin" 디렉토리에 힙 덤프 파일이 생성됩니다.

-XX만 설정하는 경우:+HeapDumpOnOutOfMemoryError 파라미터는 OpenJDK/Oracle JDK의 JBOSS_HOME/bin 디렉토리에 heapdump가 생성됩니다.IBM JDK를 사용하는 경우 /tmp 디렉토리 아래에 heapdump가 phd 파일로 생성됩니다. -XX:HeapDumpPath 옵션을 사용하면 사용자 지정 헤드펌프 경로 위치(-XX:HeapDumpPath=/my-custom-jboss-server-path/)를 구성할 수 있습니다.이 파라미터는 Out Of Memory 오류 시 힙덤프를 수집하여 응용 프로그램의 메모리 누수 문제를 분석하거나 응용 프로그램의 대규모 개체 보존을 확인하는 것이 좋습니다.

언급URL : https://stackoverflow.com/questions/542979/using-heapdumponoutofmemoryerror-parameter-for-heap-dump-for-jboss

반응형