| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
- 컨트롤러
- http
- equals
- START WITH
- 티스토리챌린지
- Linux
- API
- oracle
- wsdl
- HTML
- Database
- 영상편집
- 톰캣
- JDBC
- letterspacing
- Docker
- cmd
- ibatis
- 안드로이드 스튜디오
- MariaDB
- MySQL
- 스레드 덤프
- 스레드
- integer
- 오블완
- 키보드
- 프로세스
- 삼성증권
- Tomcat
- java
- Today
- Total
블로그 이름
[ERROR] org.eclipse.swt.SWTException: Failed to execute runnable (java.lang.OutOfMemoryError: GC overhead limit exceeded) 본문
[ERROR] org.eclipse.swt.SWTException: Failed to execute runnable (java.lang.OutOfMemoryError: GC overhead limit exceeded)
Hide 2025. 8. 31. 17:24에러 로그는 다음과 같다.
org.eclipse.swt.SWTException: Failed to execute runnable (java.lang.OutOfMemoryError: GC overhead limit exceeded)
at org.eclipse.swt.SWT.error(Unknown Source)
at org.eclipse.swt.SWT.error(Unknown Source)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Unknown Source)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Unknown Source)
at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
...
Caused by: java.lang.OutOfMemoryError: GC overhead limit exceeded
CPU 사용량 중 98% 이상 GC가 작동되는 경우 GC Overhead limit exceeded가 발생된다. 한정된 Heap Memory 안에서 GC 대상 객체는 없지만 새롭게 생성되는 객체가 메모리를 할당받지 못하는 경우에 GC 시간이 길어지게 된다.
map에 계속해서 데이터를 넣는 중 메모리 부족으로 발생한 에러.
해결방법
1. GC overhead limit exceeded Option 종료
-XX:-UseGCOverheadLimit
해당 부분은 비추천 하는 방법으로, GC overhead limit exceeded가 왜 나왔는지 원인을 파악하여 최적화 하는 것이 낫다.
2. Heap 메모리 설정
java -Xmx1024m com.경로.클래스
제일 간단한 방법으로 힙 메모리를 늘려주는 방법이다. 데이터 읽는 건이 ㅁ낳을 경우 -Xmx 로 최대 Heap 메모리 설정하여 주면 된다.
Heap 메모리 늘리는 것으로 해결되었다.