반응형

 

 

 

 

 

💥 Exception in thread "main" java.lang.OutOfMemoryError: GC overhead limit exceeded

 

 

 

 

 

1️⃣ 원인

- JVM에서 애플리케이션이 가비지 콜렉션을 수행하는 데 너무 많은 시간을 소비한다는 신호를 보내는 방법이다.

(JVM이 GC를 수행하는데 총 시간의 98%이상을 소비하고 GC 후에 힙의 2%미만만 복구되는 경우 오류 발생)

▶ stack overflow 참고

 

- Map이나 ArrayList와 같은 자료구조를 사용할 때 많은 데이터를 자료구조에 넣으면 메모리 사용량이 많아져 오류가 발생할 수 있다.

 

 

 

 

2️⃣ 해결

 

▶ JVM option으로 heap limit제한을 없앤다

application단에서 메모리 부족으로 발생하는 java.lang.OutOfMemoryError: Java heap space.에러가 발생 할 수 있다.
XX:-UseGCOverheadLimit


 JVM option으로 메모리를 많이 사용하는 클래스에 메모리 할당 설정
java -Xmx1024m com.yourcompany.YourClass

 

 

* Intelli J 로 해당 문제 해결

 

# 기존
-Xms1024m
-Xmx2048m

# 변경
-Xms4096m
-Xmx4096m

 

 

 

 

 

 

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기