Um servidor pode ter “muita” RAM? Existe um nível ideal de RAM ou é sempre melhor?

6

Recentemente, pedi ao nosso administrador do servidor que os novos servidores que nós pedimos com 140 GB de RAM tivessem "muito" de memória RAM e que os servidores começassem a sofrer com mais de 80 GB, já que era "o melhor montante". Ele estava soprando fumaça ou há realmente um problema de desempenho com mais RAM do que um certo nível? Eu pude ver o argumento - mais para o sistema operacional gerenciar, etc - mas isso é legítimo, ou será que a sala de respiração extra irá mais do que compensar o gerenciamento?

Eu não estou perguntando "Vou usar tudo" (é um cluster do SQL Server com dezenas de instâncias, então eu suspeito que sim, mas isso não é relevante para minha pergunta), mas apenas se muito pode causar problemas. Eu sempre achei que mais é melhor, mas talvez haja um limite para isso.

    
por SqlRyan 01.11.2010 / 17:13

6 respostas

16

Existem alguns limites disponíveis para "demais", embora sejam casos especiais.

Em terrenos de 32 bits, o PAE é o que permite que você acesse a memória na linha de 4GB. O máximo teórico para máquinas de 32 bits é 64 GB de RAM, o que reflete a PAE extra de 4 bits que fornece endereços de memória. 64 GB tem menos de 80 GB.

De lá, temos problemas específicos do processador. Processadores de 64 bits usam atualmente entre 40 e 48 bits internamente para endereçamento de memória, o que dá um limite máximo de memória entre 1TB e 256TB. Ambos os modos mais de 80GB.

A menos que ele tenha algumas razões claras para o motivo pelo qual o SQL Server não pode lidar com essa quantidade de memória, o SO e o hardware de base podem fazer isso sem suar.

    
por 01.11.2010 / 18:05
10

Ele estava soprando fumaça - se ele tivesse dito 4GB e você estivesse usando sistemas operacionais de 32-bit, então ele poderia ter metade de um argumento, mas não, 80GB é apenas um número que ele tirou do ar.

Obviamente, existem alguns problemas se a memória não for 'comprada com sabedoria', por exemplo, DIMMs maiores geralmente custam mais que o dobro do preço das versões half-size (ou seja, DIMMs de 16GB são mais que DIMMS de 8GB) e você pode diminuir uma máquina para baixo completamente por não usar o número / tamanho / layout correto da memória, mas ainda assim será muito rápido. Também é claro que quanto mais memória você tiver, mais haverá para quebrar, mas tenho certeza que você ficará feliz com esse sistema pelo que está pedindo.

    
por 01.11.2010 / 17:56
4

Levar ao extremo e dizer que você tem petabytes de memória: o sistema (cpu) não vai trabalhar mais para gerenciar mapeamentos de memória. O sistema operacional deve ser inteligente o suficiente para consumir essa memória para o cache de disco e ainda ter muito para gerenciar o espaço do aplicativo (memória e código). O mapeamento de memória em RAM versus espaço virtual consumirá a mesma quantidade de ciclos de CPU.

Em última análise, a única coisa a sofrer com muita memória é energia desperdiçada.

    
por 01.11.2010 / 17:38
4

Peço desculpas, mas a maioria dessas respostas está incorreta. Existe, de fato, um ponto em que mais RAM rodará mais devagar. Para servidores HP com 18 slots, como o G7, preencher todos os 18 slots fará com que a memória seja executada em 800 em vez de 1333. Veja aqui algumas especificações:

link

(Clique na memória, claro.)

Configuração de memória típica com 12 slots preenchidos será 48G (todos os 4s), 72G (8s e 4s), 96G (todos os 8s), etc ... quando você diz "140G" Eu suponho que você realmente quer dizer 144G, o que muito provavelmente será 8G em todos os 18 slots. Isso, na verdade, iria atrasá-lo.

Agora, a partir da pesquisa que fiz, parece que a velocidade de memória mais lenta não afeta muitos aplicativos, mas uma coisa que afeta os aplicativos de banco de dados. Neste caso, você diz que é para um cluster SQL, então sim, para isso, muita memória RAM poderia atrasá-lo.

É possível que o administrador do servidor com quem você conversou saiba disso por experiência prática, sem conhecer a razão técnica exata.

Espero que ajude,

-Jody -

    
por 26.12.2014 / 19:28
2

Supondo que a CPU possa realmente usar a RAM (não é um dos limites especiais que o sysadmin1138 mencionou), mais RAM não pode prejudicar o desempenho.

No entanto, como você tem um orçamento limitado, pode haver uma quantidade "ótima" de RAM - se você gastar mais dinheiro com RAM, você terá menos dinheiro para CPU (s) e disco (s) e IO. Se algo diferente de RAM é o gargalo, adicionar mais memória RAM também não ajuda o desempenho (embora também não prejudique o desempenho) e custa dinheiro que poderia ser aplicado para abrir o gargalo.

(Estou negligenciando o custo do custo da eletricidade para alimentar os servidores e o custo da eletricidade para resfriar os servidores - esses custos podem ter um grande efeito na "otimização" da seleção de hardware em um data center).

    
por 25.03.2011 / 22:55
2

Encontrei pelo menos um cenário em que você pode ter muito aríete. É certo que esta é uma limitação do software, não uma limitação de hardware.

Aplicativos Java (como o ElasticSearch) sofrem ao usar mais de 32 GB de memória RAM devido a compensações de objetos compactados.

Informações adicionais:

link

    
por 23.01.2015 / 01:08