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
- Sunucu çalışırken zaman içinde RAM kullanımını izleyin (panel varsa panelden, yoksa
/tpsile birlikte konsol çıktısından). - Bellek kullanımı sürekli, oyuncu sayısı değişmeden artıyorsa (asla düşmüyorsa) sızıntı olasıdır.
- Şü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.