Tamanho do arquivo de paginação em um servidor com toneladas de RAM

4

Temos um servidor de banco de dados que estamos atualizando para 64 GB de RAM, mas atualmente ele tem apenas unidades SCSI pequenas - totalizando pouco mais de 400 GB (192 GB após o espelhamento). Nosso banco de dados é relativamente pequeno, mas todos nos dizem que o arquivo de paginação deve ser 1-1.5X RAM. Precisamos definir algum tipo de tamanho máximo, dado nosso pequeno tamanho de disco, mas parece ridículo comprar $ 500 em discos SCSI apenas para armazenamento de arquivos de paginação.

    
por Andrew 08.02.2010 / 00:14

4 respostas

7

A RAM física de 1,5 vezes é apenas uma diretriz. Existem algumas dicas gerais sobre o tamanho do arquivo de página em este artigo da Technet que explica:

On server systems, a common objective is to have enough RAM so that there is never a shortage and the pagefile is essentially, not used. On these systems, having a really large pagefile may serve no useful purpose.

No entanto, para alguns sistemas (Domain Controllers, Exchange Servers), a desativação total dos arquivos de paginação não é uma boa idéia. É especificamente contra-indicado para o DC e é uma péssima ideia para Servidores Exchange . Eu vi o comportamento do Exchange descrito nesse artigo (thrashing de disco extremo causado por paginação) em um servidor E2K7 que não era tão ocupado com 32G de RAM física onde alguém definir o tamanho do arquivo de paginação para 1G.

Eu nunca encontrei (ou ouvi falar) quaisquer instruções específicas que indiquem que um arquivo de paginação é necessário para o SQL, além do argumento geral de que ajuda se alguma outra coisa for desonesta e dissimular toda a RAM física.

    
por 08.02.2010 / 00:42
2

Eu não me preocuparia com isso, em nossas caixas físicas MSSQL nós especificamente desligamos o paging e alguns dos nossos são executados por trimestres de cada vez sem entrada. Dito isso, eu ainda ficaria tentado a deixar o Windows gerenciar seu próprio arquivo de página, fique de olho nele e ele dirá o quão grande ele precisa ser.

    
por 08.02.2010 / 00:16
2

O objetivo de especificar corretamente um servidor dbase é fornecer RAM suficiente para o banco de dados inteiro. A última coisa que você quer são consultas SQL que causam E / S de disco (troca). Encontre as pastas do banco de dados MSSQL e verifique o uso total do disco do seu banco de dados. Você deve ter pelo menos o dobro da quantidade de RAM no sistema - em um mundo ideal. Isso deixa RAM suficiente para o crescimento da base de dados, bem como o suficiente para o cache de consultas e coisas do tipo.

Então, para responder à sua pergunta, o swap pode ser de 1,5 vezes a memória para sistemas com pouca memória e geralmente é de 8 GB ou menos para sistemas com grande quantidade de memória. Se você começar a usar paginação, não aumente a troca ... aumente sua memória RAM.

    
por 08.02.2010 / 04:42
0

Eu recomendaria começar com algo de tamanho decente, mas pequeno comparado à sua memória física. Em uma caixa de 32GB, o arquivo de paginação de 8GB é um bom começo. Depois de testar por um tempo, você pode mover esse número se quiser. Certifique-se de dar ao SQLserver o direito de "bloquear páginas na memória" para que o próprio servidor de banco de dados não possa ser paginado.

Para um ótimo artigo sobre dimensionamento de memória, consulte:

link

    
por 29.12.2011 / 22:42