Skip to content
호스팅 · 성능

메모리: 얼마나 할당하고 왜 전부는 안 되는가

제어판의 메모리 그래프를 읽는 방법, 사용 중인 메모리가 부족을 뜻하지 않는 이유, 그리고 상위 플랜으로 올릴 때를 다뤄요.

업데이트 2026년 8월 13일

제어판의 메모리 그래프는 초보자에게 겁을 줍니다. 거의 항상 높게 표시되기 때문이죠. 이는 Java의 정상적인 동작입니다.

그래프 읽는 방법

Java는 메모리를 미리 할당하고, 가비지 컬렉션이 일어날 때만 해제합니다. 그래프의 톱니 모양 — 사용량이 올라갔다가 컬렉션 후 급격히 떨어지는 패턴 — 은 건강한 서버의 신호입니다.

문제가 있는 경우는 다릅니다. 선이 천장에 붙어 있고 하락 후에도 내려오지 않습니다. 이는 가비지가 해제되지 않고 있다는 뜻입니다 — 메모리가 실제로 너무 부족하거나, 누수가 있거나 둘 중 하나입니다.

부족 신호

  • 로그의 OutOfMemoryError — 분석.
  • 가동 시간이 길어질수록 늘어나는 몇 초간의 멈춤.
  • 재시작 직후에는 잘 돌아가다가 저녁이면 성능이 떨어짐.

누수

소비량이 선형으로 증가하고 떨어지지 않는다면 원인을 찾아보세요:

spark heapsummary

보통은 데이터를 쌓아두는 플러그인이나 청크 로더가 있는 모드입니다 — Spark.

임시 조치는 하루 한 번 자동 재시작입니다. 근본적인 해결은 원인을 찾아 업데이트하는 것입니다.

전부 할당하지 마세요

힙 외에도 프로세스는 메타데이터, 스레드, 버퍼를 위한 메모리가 필요하고, 컨테이너는 시스템을 위한 메모리가 필요합니다. Millida 제어판은 플랜에 따라 힙 제한을 설정하면서 이를 자체적으로 고려합니다 — 직접 건드릴 필요가 없습니다.

플랜을 변경해야 할 때

정상 운영 중 최대 소비량이 지속적으로 한계에 도달하고 프로필에서 누수가 보이지 않을 때 — 플랜 변경.

Minecraft 호스팅오프라인일 때도 서버가 실행돼요서버 만들기