java.lang.OutOfMemoryError: Java heap space hatası, sunucuya ayrılan RAM'in (heap) dolduğu ve Java'nın daha fazla bellek ayıramadığı anlamına gelir. Sunucu bu noktada donar veya çöker.

1. Adım: RAM Ayarınız Gerçekten Yeterli mi?

Öncelikle -Xmx değerinizin oyuncu sayınıza ve yüklü eklenti/dünya büyüklüğünüze uygun olup olmadığını kontrol edin — bkz. kaç GB RAM gerekir tablosu. Çoğu durumda basitçe RAM'i artırmak sorunu çözer.

2. Adım: RAM Artırmak Çözmüyorsa — Memory Leak İhtimali

RAM artırdıkça hata gecikerek tekrar ediyorsa Bu, muhtemelen bir memory leak (bellek sızıntısı) belirtisidir: bir eklenti veya mekanizma, kullandığı belleği doğru şekilde serbest bırakmıyordur. RAM artırmak burada semptomu erteler ama kök sebebi çözmez.

Memory Leak'i Bulma

  1. Sunucu çalışırken zaman içinde RAM kullanımını izleyin (panel varsa panelden, yoksa /tps ile birlikte konsol çıktısından).
  2. Bellek kullanımı sürekli, oyuncu sayısı değişmeden artıyorsa (asla düşmüyorsa) sızıntı olasıdır.
  3. Şüpheli eklentileri (özellikle sık güncellenmeyenleri) teker teker kaldırıp gözlemleyin.

Diğer Kontroller

  • Çok büyük, keşfedilmiş bir dünya boyutu, chunk verisiyle ilgili bellek yükünü artırır.
  • Aşırı sayıda entity (mob/item) birikmesi de geçici bellek baskısı yaratabilir — bkz. TPS düşüklüğü rehberi.

JVM bellek yönetimini ince ayarlamak için Aikar's Flags rehberimize de göz atabilirsiniz.