MC Toolkit

Guias / Servidores e desempenho

As flags do Aikar mudam a partir de 12 GB — cinco delas, e uma diminui

Copiar as flags de um servidor com 4 GB para outro com 16 GB deixa cinco valores incorretos. Veja quais mudam e com quantos jogadores um servidor com mods ultrapassa o limite que um servidor vanilla ainda não alcançou.

As flags do Aikar são os argumentos JVM padrão da comunidade para um servidor Paper, e geralmente são copiadas como um bloco único. Mas elas não são um bloco único: dos vinte argumentos, cinco mudam dependendo se o seu heap está abaixo ou acima de 12 GB. Colar um conjunto de heap pequeno em um servidor de heap grande é a maneira mais comum de usar "as flags recomendadas" e não obtê-las.

As cinco que mudam

flagabaixo de 12 GB12 GB ou mais
-XX:G1NewSizePercent3040
-XX:G1MaxNewSizePercent4050
-XX:G1HeapRegionSize8M16M
-XX:G1ReservePercent2015
-XX:InitiatingHeapOccupancyPercent1520

G1ReservePercent é a que diminui. Quatro das cinco aumentam com o tamanho do heap e essa diminui, por isso uma lembrança vaga de "aumentar os números para um servidor grande" produz um conjunto errado em vez de apenas subótimo. Ela reserva uma fração do heap contra falhas de evacuação, e um heap maior precisa de uma fração menor para manter a mesma margem absoluta.

Os treze argumentos -XX: restantes são idênticos em qualquer tamanho de heap — -XX:+UseG1GC, -XX:MaxGCPauseMillis=200, -XX:+AlwaysPreTouch, -XX:SurvivorRatio=32, -XX:MaxTenuringThreshold=1 e os demais não se alteram. Apenas -Xms e -Xmx acompanham o tamanho do heap em si.

Onde a linha de 12 GB realmente se situa

O gerador nesta página dimensiona o heap a partir da sua contagem de jogadores:

GB = clamp( ceil( (modded ? 2.5 : 1) × (2 + players / 12) ), 2, 32 )

Servidores com mods são orçados em 2.5× vanilla, e esse fator decide quem realmente vê a ramificação de heap grande:

jogadoresvanillacom mods
103 GB8 GB
204 GB10 GB
295 GB12 GB ← com mods cruza aqui
507 GB16 GB
10011 GB26 GB
10912 GB ← vanilla cruza aqui28 GB

Um servidor com mods atinge as flags de heap grande com 29 jogadores. Um servidor vanilla não o faz até 109. Então, para a maioria das pessoas que executam Paper vanilla, o conjunto de heap pequeno é o correto permanentemente — e para a maioria das pessoas que executam com mods, ele deixa de ser correto muito antes do que esperam.

Dois limites nessa fórmula que valem a pena conhecer

Nunca recomenda mais de 32 GB. O vanilla atinge o limite em 349 jogadores e permanece lá. Isso não é um artefato de arredondamento — acima de aproximadamente 32 GB, a JVM perde os ponteiros de objeto compactados e cada referência no heap fica maior, então mais RAM pode significar menos heap utilizável. Escalar além desse ponto é trabalho para um segundo servidor, não um maior.

Nunca recomenda menos de 2 GB, mesmo para um único jogador, porque o piso é o software do servidor e não a população.

E seja o que for que a fórmula diga: não dê à JVM tudo o que a máquina tem. -Xms e -Xmx são definidos com o mesmo valor aqui de propósito — um heap fixo evita que a JVM redimensione sob carga — o que significa que o número que você escolhe é reivindicado imediatamente e permanentemente. Deixe 1–2 GB para o sistema operacional, para que ele não precise brigar com você.

Geradores de configuração de servidor →

Mais guias

Ver todos →

Procurando mais ferramentas de Minecraft?

Um conjunto de geradores, visualizadores e conversores que rodam no navegador — tudo grátis.