Garbage collector dan jeda
Mengapa server membeku beberapa detik pada TPS normal: cara kerja garbage collection, cara melihatnya di log, dan apa yang benar-benar membantu.
Diperbarui 13 Agustus 2026
Java membebaskan memori saat jeda: aplikasi berhenti, garbage collector menghapus sampah, lalu pekerjaan berlanjut. Jeda yang panjang tampak seperti seluruh server membeku.
Gejala
- TPS rata-rata normal, tetapi setiap beberapa menit semuanya membeku selama 1–5 detik.
- Di log Paper:
Can't keep up! Did the system time change, or is the server overloaded?— analisis. spark healthmenunjukkan porsi waktu yang dihabiskan di GC.
Apa yang memengaruhinya
| Faktor | Efek |
|---|---|
| Ukuran heap | Heap lebih besar — jeda lebih lama |
| Laju pembuatan sampah | Plugin dan mod yang membuat objek dalam loop |
| Collector | G1 secara default; ZGC memberi jeda singkat pada heap besar |
| Jumlah core | Pengumpulan paralel lebih cepat |
Apa yang harus dilakukan
- Jangan beri memori “dengan margin lebih besar”. 32 GB padahal 8 sudah cukup berarti jeda lebih lama. Pedomannya adalah puncak ditambah 30–50% — Berapa banyak memori yang dibutuhkan.
- Temukan sumber sampah.
spark heapsummaryakan menunjukkan apa yang mengisi heap. Sering kali itu plugin atau mod tertentu. - Flag. G1 yang sudah disetel sudah diatur di Millida; setelan manual dari internet lebih sering merugikan — Flag Aikar.
Apa yang tidak boleh dilakukan
Jangan coba “menonaktifkan garbage collector” — itu tidak ada sebagai opsi. Jangan set -Xmx lebih tinggi dari jumlah memori paket Anda: proses akan dimatikan saat mencoba melewati batas — OutOfMemoryError.
Hosting MinecraftServer Anda berjalan saat Anda offlineBuat server
