OutOfMemoryError: 메모리 부족
메모리 부족 오류 분석: 힙 공간과 메타스페이스의 차이, 원인 찾는 방법, 그리고 요금제 업그레이드 외에 할 수 있는 일을 다뤄요.
업데이트 2026년 8월 13일
java.lang.OutOfMemoryError: Java heap space
서버의 메모리가 부족해졌어요. 서버가 계속 충돌하거나, 끝없이 가비지 컬렉션을 돌리다가 멈춰버려요.
종류
| 문구 | 의미 |
|---|---|
Java heap space | 메인 힙이 부족해진 경우 — 가장 흔한 사례예요 |
Metaspace | 클래스용 메모리 부족: 보통 /reload를 쓰거나 모드가 너무 많을 때 발생해요 |
GC overhead limit exceeded | 컬렉터는 돌지만 아무것도 회수하지 못하는 경우: 사실상 같은 상황이에요 |
unable to create native thread | 스레드가 너무 많은 경우: 플러그인이 제한 없이 스레드를 생성해요 |
해결 방법
- 메모리가 실제로 부족한지 확인하세요. 기준은 메모리가 얼마나 필요한가요와 모드팩 메모리를 참고하세요.
- 누수가 있는지 확인하세요. 재시작 후 사용량이 계속 선형으로 늘어나고 줄어들지 않는다면 플러그인이나 모드가 원인이에요.
spark heapsummary로 힙을 무엇이 채우고 있는지 확인할 수 있어요 — Spark. - 부하를 줄이세요: 반경, 엔티티 제한, 월드 수, 실시간 생성 대신 사전 생성을 활용하세요 — Paper 최적화.
- 메모리 한계에 실제로 도달했다면 요금제를 업그레이드하세요 — 요금제 변경.
하지 말아야 할 것
/reload를 사용하지 마세요. Metaspace 오류와 추적하기 어려운 누수의 대표적인 원인이에요. 서버를 완전히 재시작하세요.
임시 조치
매일 자동 재시작을 설정하면 원인을 찾는 동안 증상을 완화할 수 있어요. 이에 영구적으로 의존하면 결국 게임 도중 서버가 충돌할 때 데이터를 잃게 돼요.
Minecraft 호스팅오프라인일 때도 서버가 실행돼요서버 만들기
