Skip to content

Instantly share code, notes, and snippets.

@lhy880518
Created May 28, 2019 06:39
Show Gist options
  • Save lhy880518/5a85dac68a01dab109950b76667eee48 to your computer and use it in GitHub Desktop.
Save lhy880518/5a85dac68a01dab109950b76667eee48 to your computer and use it in GitHub Desktop.
Out Of Memory Example

(JAVA)Out Of Memory(이하 OOM) 유발 예제 및 확인방법에 대한 메모

스크린샷 2019-05-28 오후 3 30 01

  • 위와 같이 예제 작성하여 Tomcat으로 구동

스크린샷 2019-05-28 오후 3 32 39

  • Tomcat 설정에 setenv.sh를 제작하여 추가
    1. PermSize, MaxPermSize는 Heap메모리를 작게 잡아서 얼른 OOM을 발생시키려고 설정
    2. -XX:+HeapDumpOnOutOfMemoryError으로 JVM을 구동하게되면 Out Of Memory 발생 시 Heap Dump파일을 만든다.

스크린샷 2019-05-28 오후 3 35 11

  • OOM발생 및 Dump파일 제작 확인 완료

스크린샷 2019-05-28 오후 3 36 05

  • 이클립스 Eclipse Memory Analyzer를 설치

스크린샷 2019-05-28 오후 3 37 23

  • dominator_tree항목을 통해 어떤 객체때문인지 확인

참고사이트

  1. MAT툴 사용 방법
  2. OOM발생예제
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment