Memória ausente no Windows Server 2008

7

Eu tenho um servidor Windows 2008 x64 com 8 GB de RAM instalado.

O Gerenciador de Tarefas e o Monitor de Recursos insistem em que 7,5 GB da RAM estejam em uso. No entanto, a lista de memória em processos (bytes particulares de memória) não adiciona. Eu tenho Show Processes de todos os usuários verificados e mão adicionando os números que surgem com cerca de 3,5 GB de RAM.

Eu também examinei a última cópia do SysInternals Process Explorer. E nem o Private Bytes nem o Working Set somam mais de 3,5 GB de RAM em uso.

O que está acontecendo?

=====

Atualizar : Eu saltei o servidor para ver o que aconteceria com a utilização da memória. Após o boot e as operações regulares, ele começou com 3 GB de uso de RAM. 18 horas depois, ele volta para 6,8 GB de uso sem indicação de onde os 3,5 GB adicionais de RAM estão sendo usados.

Aqui estão os links para capturas de tela do monitor de recursos e do gerenciador de tarefas:

Monitor de recursos

Gerenciador de tarefas

Atualização 2 : Bem, acredito que localizei o problema. Quando desanexei um dos maiores bancos de dados do meu servidor sql, a quantidade de memória RAM mostrada como "em uso" caiu drasticamente. A contagem de Bytes privados de memória mal se moveu. Então eu estou supondo que o servidor SQL tem alguma maneira de alocar memória onde realmente não aparece em nenhum dos monitores.

Eu fui mais longe e criei um novo arquivo de banco de dados, depois transferi todos os dados daquele que eu desanexei. Embora tenha os mesmos dados e as mesmas transações, a memória em uso permaneceu baixa. Talvez tenha havido alguma corrupção no banco de dados? Vou deixar para os deuses do DB e procurar outro "problema";)

    
por NotMe 21.10.2009 / 21:41

5 respostas

7

Encontrei este artigo hoje que discute em detalhes páginas bloqueadas, AWE e sistemas de 64 bits. link

Um dos marcadores (# 3) é o título "Por que o gerenciador de tarefas não mostra toda a memória alocada para o SQL Server"

É uma ótima explicação. No final, a razão pela qual isso não aparece é que o servidor sql "bloqueou" essas páginas na memória. As páginas bloqueadas NÃO fazem parte do conjunto de trabalho, portanto, elas não aparecerão no Gerenciador de Tarefas nem aparecerão como parte do conjunto de memórias de aplicativos.

Se você executar select * from sys.dm_os_process_memory , poderá ver o campo locked_page_allocations_kb, que informará quanto RAM o servidor sql alocou nessas páginas.

    
por 13.11.2009 / 15:26
1

O Gerenciador de Tarefas tem uma barra / gráfico de memória abaixo da barra / gráfico da CPU. Essa é a quantidade usada pelos aplicativos.

A soma do valor indicado por esse gráfico e a quantia indicada como "Disponível" deve ser igual ao seu total de 8 GB.

"Disponível" é mais do que "Grátis" porque "Em cache" está incluído em "Disponível".

    
por 21.10.2009 / 22:40
1

Estou tendo um problema semelhante. Veio neste artigo da technet - 907877. Tente usar o comando SQL DBCC MEMORYSTATUS e verifique se a entrada alocada para AWE é igual à sua memória ausente.

    
por 04.11.2009 / 17:36
0

Você provavelmente está compartilhando RAM com sua placa de vídeo. Verifique as configurações da sua BIOS.

Não é uma pista, então. Algumas sugestões aqui são para testar os módulos de memória.

    
por 21.10.2009 / 22:09
0

Quais aplicativos você está executando? Pode ser que você esteja executando um aplicativo de desenvolvimento ou um pacote de software de terceiros que tenha vazamentos de memória?

    
por 22.10.2009 / 16:54