Máquina virtual VMware ESX, Windows 2008 Server R2, memória cheia, mas com processo total longe?

4

Nós configuramos um servidor TFS 2010 em um servidor Windows 2008 R2, e ele recentemente começou a funcionar e deu longos intervalos de operação.

Quando eu faço logon na máquina, vejo que a guia de desempenho do gerenciador de tarefas diz que 3.86GB de 4 estão alocados, mas quando vou para a aba de processos e soma todos os processos em execução, acabo em algum lugar entre 700 e 900MB, dependendo de quanto tempo a máquina está funcionando.

Encontrei esta questão na lista de títulos semelhantes, esperando que isso me ajudasse:

Uso estranho de memória no Windows Server 2008 R2

e eu corri a consulta SQL na lista, dando-me os seguintes itens:

object_name               Counter_name                cntr_value cntr_value_MB
------------------------- --------------------------- ------------------------
SQLServer:Buffer Manager  Database pages              988        8.000000000
SQLServer:Buffer Manager  Free pages                  140        1.000000000
SQLServer:Buffer Manager  Total pages                 2923       23.000000000
SQLServer:Memory Manager  Target Server Memory (KB)   23384      22.000000000
SQLServer:Memory Manager  Total Server Memory (KB)    23384      22.000000000

Eu não entendo se isso explica o problema de memória ou não, mas eu acho que a última coluna deve indicar valores mais altos se o problema for o mesmo daquela questão. Eu até limito o uso de memória do SQL Server para 3GB e a aba atual do processo mostra que o sqlservr.exe usa 92MB de memória.

Observe também que 4 GB foram suficientes para esta máquina anteriormente, e não tivemos problemas de desempenho ou perguntas com ela quando ela foi operada normalmente, mas mudanças recentes no comportamento são preocupantes.

A máquina é uma máquina virtual em execução em um servidor VMware ESX 4.1, poderia ser? Eu li sobre "balões de memória" que a VMware usa, para roubar de volta a memória em um sistema de outra forma tenso, mas a memória total disponível no servidor físico é de 32GB e a visão geral de desempenho diz que 17 deles estão disponíveis.

O que mais eu deveria estar olhando ou de que outra forma eu deveria estar olhando os dados acima?

Uma reinicialização leva a máquina de volta ao que eu chamaria de números explicáveis, mas ela volta lentamente para 4 GB ao longo de um dia e começa a expirar.

Observe também que eu não sou 100% positivo que a memória está causando o tempo limite, mas a máquina funciona bem até que a memória esteja próxima a esses 4GB, então no mínimo ela parece estar ligada, mas pode ser claro dois efeitos diferentes da mesma causa.

Não houve atualizações do Windows nesta máquina por pelo menos um mês, para o bem ou para o mal, por isso não há manutenção que coincida com o início dos problemas.

    
por Lasse Vågsæther Karlsen 23.05.2011 / 15:28

2 respostas

3

O desempenho de um host irá diminuir instantaneamente sempre que ocorrer "thrashing" - troca contínua de páginas de memória em condições de memória apertada.

Você pode ter um vazamento de memória em algum lugar. Se o gerenciador de tarefas não mostrar o uso excessivo de memória para um único processo (BTW, qual valor você estava vendo? O gerenciador de tarefas normalmente mostra bytes particulares, embora você deva procurar pelo "conjunto de trabalho" para uso de memória física atual) um módulo / driver do kernel pode ser outro candidato possível. Dê uma olhada nas estatísticas de Process Explorer , especialmente no uso de memória do kernel - elas serão mais detalhadas e pode dar um passo adiante na resolução.

    
por 23.05.2011 / 17:33
1

Veja os hits da página como um indicador muito melhor de supercomprometimento de memória. Se você está atingindo a página (também) com frequência, a degradação do desempenho provavelmente se deve à falta de alocação da memória. Caso contrário, eu procuraria em outro lugar.

A menos que você tenha ativado o driver de balão (e, em seguida, você veria seu uso), não é o problema.

    
por 17.02.2012 / 15:03