Belirtiler: Birkaç saniyede bir lag spike, sunucu donuyor, periyodik kasma

Olası Nedenler

  • Garbage Collection duraklamaları
  • Otomatik kaydetme (autosave)
  • Chunk generation yükü
  • Kötü JVM bayrakları

Adım Adım Çözüm

1. Adım

Aikar'ın JVM flaglerini kullanın

bash
java -Xms10G -Xmx10G -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -jar server.jar nogui

2. Adım

Dünyayı önceden oluşturun (pre-generate)

bash
/chunky radius 5000
/chunky start

3. Adım

Spark profiler ile GC analizi yapın

bash
/spark gc

4. Adım

Autosave aralığını artırın (paper.yml)

bash
max-auto-save-chunks-per-tick: 8