Memória Virtual

Microsoft SQL Server permite o uso de até 2.048 MB de memória virtual. Este artigo discute quanto memória você deve alocar para SQL Server versões 4.2 x, 6.0 e 6.5 memória do computador vários em configurações. Para obter informações sobre configuração de memória no SQL Server versão 7.0, consulte livros online do Microsoft, incluído no SQL Server versão 7.0.

 

Windows NT fornece um espaço de 4 gigabytes (GB) endereço virtual, os 2 GB inferior dos quais é particular por processo e está disponível para uso do aplicativo de cada aplicativo de 32 bits do Windows. Superior 2 GB é reservado para uso do sistema.

O espaço de endereço 4 GB é mapeado para a memória física disponível pelo Windows NT memória Virtual Manager (VMM). A memória física disponível pode ser até 4 GB, dependendo do suporte de plataforma de hardware.

Um aplicativo do Windows de 32 bits, como o SQL Server somente considerar endereços virtuais ou lógicos, endereços físicos não. Quanta memória física de um aplicativo usa em um determinado momento (o conjunto de trabalho) é determinado pela memória física disponível e o VMM. O aplicativo não é possível controlar diretamente residency de memória.

Sistemas de endereço virtual como o Windows NT permitem over-committing de memória física, de modo que a taxa de virtual para a memória física excede 1: 1. Como resultado, programas maiores podem ser executados em computadores com uma variedade de configurações de memória física. No entanto, na maioria dos casos, uso significativamente mais memória virtual que os conjuntos de trabalho médio combinado de todos os processos resultará em um desempenho ruim.

Portanto, configurando o SQL Server para obter mais memória virtual que a quantidade de memória física que existe pode resultar em um desempenho ruim. Além disso, o requisito de memória do sistema operacional Windows NT devem ser considerados–cerca de 12 MB, com alguma variação dependendo sobrecarga induzidas pelo aplicativo. Observe que, como parâmetros do SQL Server, são configurados para cima, esse requisito de sobrecarga do sistema pode crescer como o Windows NT precisa de mais memória residente para suporte a segmentos adicionais, tabelas de página e assim por diante.

Isso resulta em uma quantidade de variável de memória que pode ser fornecida para o SQL Server, dependendo da configuração de memória do computador. A tabela a seguir apresenta uma estimativa aproximada de configurações de memória e supõe que um servidor de banco de dados dedicado. Se o computador for compartilhado entre diversos usos (como um servidor de arquivos, servidor de banco de dados e/ou uma estação de trabalho cliente), menos memória deve ser dada ao SQL Server e mais à esquerda para o sistema operacional e outros usos.

Observe que esses valores são apenas figuras aproximadas e são apresentados para dar uma idéia aproximada de alocação de memória do SQL Server sobre estados de memória diferentes. Para obter mais informações, você pode usar os vários recursos de monitoramento do desempenho do Windows NT para determinar seu comportamento de memória do sistema. Uma boa fonte de informações é o volume 3 do Windows NT Resource Kit, “Optimizing Windows NT”, por Russ Blake, [ISBN 1-55615-619-7], que dedica quase 600 páginas para vários aspectos de monitoramento e otimização do Windows NT e aplicativos de 32 bits do Windows.

Recolher esta tabelaExpandir esta tabela

Memória do computador Memória approx. para dar o SQL Server
16 MB 4 MB
24 MB 8 MB
32 MB 16 MB
48 MB 28 MB
64 MB 40 MB
128 MB 100 MB
256 MB 216 MB
512 MB 464 MB
1 GB 950 MB
1,5 GB 1300 MB
2 GB MB 1500

Porque o Windows NT aloca recursos adicionais para cada segmento gerado (por exemplo, uma pilha de 1 MB é alocada por thread), SQL Server raramente deve ser configurado para usar mais de 1500 MB, mesmo em sistemas com 2 GB ou mais de memória física. Tentativas de fazer isso podem causar um comportamento inesperado quando toda a memória no espaço de endereço virtual de 2 GB o processo tenha sido consumido. Em sistemas configurados apropriadamente executando o SQL Server Enterprise Edition, onde o espaço de endereço virtual disponível é expandido para 3 GB, mais memória pode ser configurada para o SQL Server. Consulte a documentação SQL Server Enterprise Edition para obter diretrizes sobre configurações de memória nesses sistemas.

A quantidade mínima de memória disponível para um SQL Server com um processador baseado em Intel é de 16 megabytes (MB). SQL Server para plataformas RISC exigirá mais memória devido a densidade média inferior de RISC instruções de computador. No entanto, considerando o investimento de software, hardware, aplicativo e pessoal geral em sistemas de cliente/servidor típico, adicionando que mais memória geralmente é inteligente e por comparação, de baixo custo de investimento. Muitos sites relatam que 32 MB é um bom ponto de partida e não é incomum para servidores seja configurado para 128 MB ou mais memória, eles colocam para uso benéfico.

O ponto no qual memória adicional tenta fornecer benefícios vale a pena é totalmente dependente da situação e é determinado principalmente por localidade de referência de acessos a banco de dados. O ponto importante lembrar é que a memória aumenta é relativamente pequena como uma porcentagem do total de memória raramente arcar com qualquer benefício significativo. Controlam duas coisas isso: SQL Server usa memória extra principalmente como cache de buffer; e taxa de acertos do cache a maioria dos estudos indicam uma curva bastante simples além de vários megabytes.

Por esse motivo, em um computador de 32 MB, se MB 14, 16 MB ou 18 MB é dada ao SQL Server, ele será raramente fazer uma diferença significativa no desempenho do SQL Server. Por outro lado, tentar “torcida” Windows NT, fornecendo excessivo de memória para o SQL Server pode resultar em um desempenho ruim por causa da paginação excessiva.

A implicação é que você deve adicionar memória física para o computador em uma quantidade significativa antes alocá-lo para o SQL Server. Se ou não adicionar memória será útil deve ser estudado antecipadamente. Taxa de acertos a maneira mais fácil determinar que isso é usando o Monitor de desempenho do Windows NT para verificar o cache do SQL Server enquanto o sistema está sob uma carga típica. Se a taxa de acertos relativamente alta (mais de 90 %), adicionar mais memória geralmente não será útil. Isso ocorre porque a memória adicional pode ser usada principalmente para cache de dados SQL Server adicional, aumentando assim a taxa de acertos. Nesse caso, a taxa de acertos já é alta e a máxima disponível melhoria muito pequena.

Se a taxa de acertos for consistentemente baixo do que isso, adicionando que mais memória pode melhorar a taxa de acertos e, assim o desempenho, se a localidade de referência é que ele pode ser “bracketed” por tecnicamente ou economicamente viáveis quantidades de memória.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s