Aikar's Flags, PaperMC ekibinden Aikar tarafından hazırlanan, Java'nın G1 çöp toplayıcısını (Garbage Collector) Minecraft'ın kendine özgü bellek kullanım örüntüsüne göre ince ayarlayan bir JVM bayrak setidir.
Neden Var?
Java'nın varsayılan çöp toplayıcı ayarları genel amaçlı uygulamalar için tasarlanmıştır. Minecraft ise çok sayıda kısa ömürlü nesne (entity, chunk verisi vb.) üretir; varsayılan ayarlarla bu durum zaman zaman uzun "duraklama" (GC pause) anlarına, yani oyuncuların hissettiği ani takılmalara yol açar. Aikar's Flags bu duraklamaları en aza indirmeyi hedefler.
Bayraklar
-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
Bu satırı başlatma komutunuza, -jar'dan önce ekleyin.
Ne Zaman Farklı Bir Yaklaşım Gerekir?
16 GB ve üzeri heap kullanan, ağır modpack veya çok dünyalı büyük sunucularda, düşük gecikmeli ZGC çöp toplayıcısı denenmeye değer olabilir. ZGC kullanacaksanız Aikar's Flags setinin tamamını kaldırmanız gerekir; G1 bayrakları ZGC ile birlikte çalışmaz.
Genel optimizasyon adımları için sunucu optimizasyonu rehberimize, mevcut bir lag sorununu çözmek için TPS düşüklüğü rehberimize bakabilirsiniz.