Uso de memória estranho no Windows Server 2008 R2

20

Espero que alguém possa ajudar. Temos uma máquina Windows Server 2008 R2 com 16 GB de RAM que mantém toda a memória disponível consumida por algo. Nada no Gerenciador de Tarefas ou Monitor de Recursos revela qualquer processo usando memória acima de 300MB ... mas o uso de memória no servidor é de 15.7GB.

As únicas coisas em execução são SQL Server 2008 e IIS7.5 (com ASP.Net).

Nota: o uso de RAM após uma reinicialização é baixo e sobe. Depois de uma semana, mais ou menos, continuamos a nos encontrar nessa situação.

Como posso descobrir o que está comendo toda a nossa memória? : (

    
por Django Reinhardt 23.02.2010 / 21:30

6 respostas

15

Este é um servidor de 64 bits - você tem as páginas de bloqueio na política local de memória ativada? O SQL provavelmente está consumindo o resto da sua memória Se você olhar para os contadores de perfmon você verá a alocação de memória

Aqui está um artigo que explica em profundidade

Você também pode ver os contadores em SQL

SELECT
    object_name
   ,Counter_name
   ,cntr_value
   ,ROUND(( cntr_value * 8192.0 ) / 1048576, 0) AS cntr_value_MB
FROM
    sys.dm_os_performance_counters
WHERE
    object_Name LIKE '%Buffer Manager%'
    AND RTRIM(counter_name) IN ( 'Free pages', 'Total pages',
                                 'Database pages' ) 
UNION SELECT
    object_name
   ,Counter_name
   ,cntr_value
   ,ROUND(( cntr_value / 1024 ), 0) AS cntr_value_MB
FROM
    sys.dm_os_performance_counters
WHERE
    counter_name IN ( 'Target Server Memory (KB)',
                      'Total Server Memory (KB)' )
    
por 23.02.2010 / 22:49
6

Teste rápido: reinicie o SQL Server.
Outro teste rápido: reinicie o IIS.

Você saberá com certeza se um deles é o culpado ou se precisa procurar em outro lugar.

    
por 23.02.2010 / 22:24
3

Pode ser útil usar o RamMap para ver aonde sua memória vai.

    
por 07.12.2011 / 09:07
1

Você está realmente passando por algum problema relacionado à memória?

O uso de memória já se tornou maior do que a memória instalada real, ou ele apenas enche e fica lá?

Se a memória apenas enche, mas você não está tendo nenhum problema, então é apenas o cache fazendo seu trabalho; a memória será automaticamente liberada se e quando você realmente precisar dela.

Se o uso de memória ultrapassar o limite físico e o servidor for paralisado, você terá algum vazamento de memória e deverá definitivamente depurá-lo.

Alguns artigos interessantes sobre o tópico "cache":

link
link
link

    
por 23.02.2010 / 21:40
0

você inspecionou o Perfmon (especificamente os contadores do SQL), como sugerido por alguém em seu outro segmento

    
por 23.02.2010 / 21:34
0

A primeira coisa é, como já foi dito, consertar e ver se isso resolve o problema.

Em segundo lugar, se isso não funcionar, use o Process Explorer para obter uma aparência melhor no seu uso de memória. Vá para o menu Exibir, selecione Colunas, Processar Memória e marque as opções Bytes Privados, Tamanho Virtual e Tamanho do Conjunto de Trabalho. Veja se isso indica o que deve ser culpado aqui.

Uma abordagem drástica seria, então, tentar parar os serviços. O IIS, por exemplo, pode ser um porco de memória total se você tiver pools de aplicativos e jardins da Web configurados incorretamente (muitos deles), de modo que seja um candidato.

Boa sorte!

    
por 23.02.2010 / 22:24