Ir para o conteúdo

Quanta RAM um servidor Minecraft precisa?

Estime a RAM necessária para servidores Minecraft Java, Paper e com mods.

Você está abrindo um servidor para amigos em um PC com 8 GB de RAM. É fácil escrever -Xmx8G no arquivo de inicialização: que a RAM use 8 e o Java também 8. Depois você lembra do Windows, do navegador e, se for jogar no mesmo PC, do cliente do Minecraft. Antes mesmo que alguém faça login, a memória do sistema não encontra onde compartilhar. Às vezes o problema não está no servidor, mas naquela única linha.

Veja separadamente os resultados “Java heap recomendado” e “RAM total necessária” na calculadora. O primeiro você usa para -Xmx. O segundo diz quanta RAM deve haver no PC ou no servidor que você aluga. Eu não dou a resposta “8 GB bastam” sem separar esses dois. O número de jogadores sozinho não sustenta essa resposta.

Dez jogadores nem sempre são a mesma carga

Encontrar-se no spawn versus espalhar-se pelo mapa

No número de jogadores, não escreva as contas registradas, mas as pessoas que entrarão no jogo ao mesmo tempo. 10 pessoas construindo uma base ao redor do spawn olham para os mesmos chunks. Quando se espalham em quatro direções com a elytra, a coisa muda. O servidor, por um lado, carrega novas áreas; por outro, gera terreno que ninguém viu ainda. Os 10 do início da noite e os 10 do final não deixam a mesma carga de RAM.

Quando faço o cálculo, olho como o grupo joga. Se todos ficam em uma área comum, a opção “Principalmente na mesma área” é adequada. Se no mundo survival cada um se espalha para sua própria base, “Em áreas diferentes / não sei” é mais próxima. Se a exploração também for intensa, marque-a separadamente. A calculadora adiciona 25% à carga de chunks. Aumentar o número de jogadores para vinte só para parecer prudente esconde de onde vem a diferença.

Controle também a distância de visão e de simulação no arquivo server.properties. A visão é a área que você envia ao jogador. A simulação é o ambiente onde mobs e eventos de jogo funcionam. Quando o formulário é aberto pela primeira vez, ele escreve 8 e 6 chunks. No cálculo de versões modernas, a maior das duas distâncias é determinante. Com visão 8, se você aumentar a simulação de 6 para 7, o resultado de RAM pode permanecer o mesmo. Para a carga de ticks, não podemos dizer o mesmo. No perfil “1.17 e anteriores”, a ferramenta não leva em conta a distância de simulação.

Não leia o número de plugins sozinho

Para Paper, Purpur e Spigot, você insere o número de plugins e a carga média. No Fabric, Forge e NeoForge, o número de mods entra em jogo. No Vanilla, a calculadora não usa nenhuma dessas entradas antigas. Não pense que as opções “leve / média / pesada” são o consumo de RAM medido de cada plugin. 10 pequenos plugins de permissão e um plugin que renderiza o mapa em segundo plano não são colocados na mesma balança.

Ao instalar um modpack, eu primeiro procuro a recomendação de heap que o pacote fornece para o servidor. Se encontrar, insira na parte “Usar a recomendação de RAM do modpack”. A ferramenta não fica abaixo desse número. Não traga para cá a recomendação escrita para o cliente. Estamos falando de dois processos de jogo separados. Se você não consegue estimar a carga do pacote, veja lado a lado o resultado “média” e “pesada”. A diferença entre eles é mais útil do que o número de mods para discutir se é necessário um pacote de hospedagem maior.

Qual número escrever e onde na calculadora?

Se você está montando um servidor novo, escolha “Calcular a necessidade de RAM”; se vai testar o PC que tem, escolha “Verificar meu computador”. O cálculo do servidor é o mesmo nos dois caminhos. O que mais facilmente se ignora são os valores iniciais do formulário: Paper e 10 plugins já vêm prontos. Se não houver nenhum plugin na instalação, zere o 10. Depois escreva a versão, a distância de visão e, se necessário, a distância de simulação como no seu servidor. Se você tem fazendas intensivas, redstone, mapa web ou um mundo extra planejado, vá para as configurações avançadas. Caso contrário, não marque só porque a caixa apareceu.

A margem de trabalho na primeira abertura é de 25%. Nas configurações avançadas, você pode alterá-la entre 10% e 100%. No momento em que desativa essas configurações, remove as cargas extras do cálculo e retorna a margem para 25%. Se em um teste você viu 6 GiB e em outro 9 GiB, veja primeiro quais chaves estão ativas. Anote também os dados usados ao lado do resultado. Assim, não será preciso voltar ao início ao procurar a diferença.

8 GB equivalem a aproximadamente 7,45 GiB. Se o anúncio diz GB, insira GB no formulário. Se uma máquina virtual ou contêiner só puder usar uma parte da RAM física, escreva essa parte como limite. É fácil relaxar com “digitei 8, saiu 8”. Se você escolheu unidades diferentes nos dois lados, a comparação já se desvia desde o início. Principalmente se o resultado estiver no limite de meio GiB.

Os dois resultados de RAM na tela

Não confunda o tamanho do heap com a capacidade da máquina

O heap Java é o limite superior que o servidor pode usar para objetos Java. A RAM total também abre espaço para o sistema operacional e para a memória que o Java usa fora do heap. A calculadora reserva pelo menos 1 GiB para esse uso extra do Java. Se 15% do heap for maior, ela pega esse valor e depois arredonda o resultado para cima em meio GiB. Se na tela houver 3,5 GiB de heap, o -Xmx3584M gerado também é isso. Ao escolher um pacote de hospedagem, não pense que o número -Xmx é a RAM do pacote.

Teste com esta configuração: Paper para 10 jogadores, versão moderna, visão de 8 chunks, simulação de 6 chunks, 10 plugins com carga média. Com configurações avançadas e Chunky desativados, a ferramenta dá 3,5 GiB de heap e 6,5 GiB de RAM total. Em uma máquina de 8 GiB rodando Linux sem desktop, se você não reservar margem extra para outro aplicativo, o cálculo de memória cabe. Agora pense no Windows e no cliente do Minecraft no mesmo PC. Se você escrever 1 GiB para outros aplicativos e 4 GiB para o cliente, o requisito total sobe para 13,5 GiB. Uma máquina de 8 GiB não basta aqui. Nem adicionamos um plugin ao Paper. São as outras tarefas que consomem a RAM.

A verificação do computador coloca uma margem de sistema de 2 GiB para Linux sem desktop, 3 GiB para Linux com desktop e 4 GiB para Windows e macOS. Em contêiner, ela não adiciona a margem do sistema operacional da máquina host. Se outros serviços estiverem rodando dentro, você deve escrever a RAM deles na seção “Outros aplicativos”. Quando a máquina não basta, a calculadora não reduz o heap automaticamente. Ela mostra claramente onde falta.

Da Vanilla ao modpack

Novamente 10 jogadores e configurações de 8/6 chunks. No Vanilla, saem 3 GiB de heap e 6 GiB de RAM total. Se você adicionar 10 plugins com carga média ao Paper, 3,5 e 6,5 GiB. Um exemplo de Fabric com 50 mods de carga média mostra 5 e 8 GiB; um exemplo de Forge, 6 e 9 GiB. Não interpreto esses resultados como “Fabric é mais leve que Forge em todas as condições”. Quando os mods dentro dos pacotes mudam, a comparação também muda. Os números mostram apenas como a calculadora se comporta com as mesmas entradas.

No exemplo do Paper, se os jogadores ficarem na mesma área, você vê 3 GiB de heap e 6 GiB de RAM total. Se se espalharem e explorarem terreno novo, 4 e 7 GiB. Nos dois cenários, o número de jogadores é 10. Por isso não confio sozinho na recomendação “tanta RAM por jogador”. Quando você adiciona fazendas intensivas, mapa web, geração de mundo personalizada e dois mundos ativos extras, o mesmo cálculo chega a 6 GiB de heap e 9 GiB de RAM total. Aqui, em vez de ativar as quatro chaves de uma vez e observar o resultado, teste uma por uma. Aí você vê qual carga faz o cálculo saltar.

Cálculo do Chunky e medição do servidor em funcionamento

No Chunky, primeiro você escolhe o nome do mundo, o centro, a forma e o raio. No quadrado, a área é 4 × raio²; no círculo, π × raio². Como um chunk ocupa 16 × 16 blocos, a calculadora divide a área por 256. Se o centro for 0, 0 e o raio do quadrado for 3000 blocos, saem 140.625 chunks. Se metade já estiver gerada, restam 70.313. Se você colocar o raio em 6000, 562.500 chunks. Não é porque você adicionou 3000 blocos que o trabalho dobra. A área chega a quadruplicar. Confira mais uma vez o número na caixa do raio.

Ao ativar o Chunky, a recomendação de heap do servidor Paper de exemplo sobe para 4 GiB e a RAM total para 7 GiB. Para disco e tempo, você pode fazer uma geração de teste curta. Se inserir 10.000 novos chunks, 256 MiB de crescimento da pasta e 300 segundos, para os 140.625 chunks restantes você verá aproximadamente 3,52 GiB de disco e 1,17 hora. Durante a geração do mundo, a velocidade pode não permanecer constante. Não inclua na medição os backups ou os arquivos do mapa web. Antes de enviar o comando, leia também o nome do mundo e o raio. Um zero extra se reflete tanto no tempo quanto no disco.

Você abriu o servidor, os jogadores se espalharam, o TPS caiu. Não aumente -Xmx imediatamente. TPS é o número de atualizações de jogo por segundo, e MSPT é quantos milissegundos uma atualização leva. Veja os dois com /spark tps. Ao tirar um perfil do Spark em um momento de carga, você pode entender se o tempo está sendo gasto na geração do mundo ou em um plugin. Leia também a pressão da coleta de lixo nos dados de GC. Em um servidor que fecha com erro OOM, o limite de RAM e -Xmx são o primeiro lugar a olhar. Se o TPS cai com memória livre, primeiro abro a saída do profiler. O novo pacote de RAM eu penso depois.

Como testamos

Verificamos as fórmulas, as conversões de unidades e os cenários de teste predefinidos na definição JSON da calculadora. Confirmamos que a configuração padrão do Paper para 10 jogadores resulta em 3,5 GiB de memória heap e 6,5 GiB de RAM total, enquanto uma área quadrada do Chunky com raio de 3000 blocos resulta em 140.625 chunks, conforme os valores de teste esperados. Também conferimos o significado das configurações na documentação dos desenvolvedores. Não foram realizados testes de carga em um servidor real.

Perguntas frequentes

Quanta RAM é necessária para um servidor de Minecraft com 10 jogadores?
No exemplo com Paper usado no artigo, são necessários 3,5 GiB de heap Java e 6,5 GiB de RAM total da máquina. Jogadores se espalhando, explorando novas áreas e cargas adicionais podem aumentar essa necessidade.
É possível executar um servidor de Minecraft com 8 GB de RAM?
Na configuração de exemplo, uma máquina Linux sem interface gráfica com 8 GiB atende ao requisito de memória. Se Windows, outros aplicativos e o cliente do Minecraft estiverem rodando no mesmo computador, o requisito do exemplo sobe para 13,5 GiB. Além disso, 8 GB correspondem a aproximadamente 7,45 GiB.
Quanta RAM é necessária para um servidor de Minecraft com mods?
Com 10 jogadores e 50 mods sob carga média, a calculadora indica 5 GiB de heap / 8 GiB de RAM total para Fabric e 6 GiB de heap / 9 GiB de RAM total para Forge. Se o modpack tiver uma recomendação de heap específica para o servidor, informe-a também.

Referências e fontes

Os cálculos desta página são baseados nas normas e fontes científicas abaixo.

  1. PaperMC: server.properties

    docs.papermc.io
  2. PaperMC: Aikar’s flags

    docs.papermc.io
  3. Chunky: FAQ

    github.com
  4. Chunky: Commands

    github.com
  5. Spark: TPS and MSPT

    spark.lucko.me
Última atualização:
As informações são baseadas em valores de referência padrão. Recomenda-se validação em projetos críticos.