VMWare SQL 2008 R2 Windows 7 Alto uso de memória

1

Eu tenho um windows 7 64 bit instalado em uma VM que executa o SQL Server 2008 R2 e o IIS7. O servidor em si tem 12 GB de memória e está equipado com um Intel Xeon dual core a 2.50 GHz.

O problema (não tenho certeza se ainda é um problema) é que o gerenciador de tarefas constantemente me mostra 8.50 GB em uso enquanto nenhum processo está consumindo essa quantidade de memória.

Eudeiumaolhadaem esta pergunta que foi falando sobre a memória de alocações de páginas bloqueadas sql. O que eu descobri é que esses valores são normais - cerca de 85 mb. Aqui está uma captura de tela do comando

select * from sys.dms_os_process_memorys

Noentanto,combasenaimagemacima,tambémvejoumtotal_virtual_space_kbdecercade8,50GB.Porúltimo,eucorriRamMapquememostraqueexistemcercade8,50Gbemusopor"Driver bloqueado" . Em outro lugar, foi sugerido que esta memória "Driver bloqueado" está sendo usada pela VMWare.

Eu tenho algumas perguntas:

1) Essa memória é realmente consumida ou será liberada para outro processo quando necessário? Tenho notado que o servidor é visivelmente lento, então eu estou querendo saber se isso tem algo a ver com isso. Além disso, recebo comumente OutOfMemoryExceptions sendo lançado pelos meus processos asp.net.

2) Quem está alocando / usando essa memória? SQL ou VMWare?

3) Existe uma maneira de eu corrigir esse problema?

Qualquer ajuda é apreciada.

    
por sTodorov 15.12.2011 / 11:17

3 respostas

2

Eu suspeito que isso seja resultado do hipervisor (ESX / i) "balão" em ação. O driver de balão funciona por meio das ferramentas do VMware, solicitando uma certa quantidade de memória do sistema operacional convidado sem realmente usá-lo no sistema operacional convidado. Isso permite que o hipervisor use a memória em outro lugar.

Balonismo geralmente é uma coisa boa por uma série de razões, mas com MSSQL ele tende a ser um pouco incômodo, porque o mecanismo SQL é muito bom no gerenciamento de memória.

Veja mais algumas informações sobre isso que podem explicar melhor do que eu:

por 15.12.2011 / 16:38
0

Por favor, verifique a configuração de reserva de memória para todas as suas VMs. deve ser definido como ilimitado ou para a memória máxima definida no seu servidor.

Vá para as configurações de vm, Recursos de guia. selecione a memória e verifique a limitação.

    
por 09.01.2012 / 19:30
-1

O SQL Server tem que ser limitado no uso de memória como melhor prática primeiro. A melhor maneira de ver quanta memória seu servidor SQL realmente precisa usar o perfmon:

Before reducing the max server memory value, use Performance Monitor to examine the SQLServer:Buffer Manager performance object while under a load, and note the current values of the Stolen pages and Reserved pages counters. These counters report memory as the number of 8K pages. max server memory should be set above the sum of these two values to avoid out-of-memory errors. An approximate value for the lowest reasonable max server memory setting (in MB) is ([Stolen pages] + [Reserved pages])/ 100

Fonte: TechNet ( link )

    
por 15.12.2011 / 15:02