Espero que alguém possa ajudar. Temos uma máquina Windows Server 2008 R2 com 16 GB de RAM que continua recebendo toda a memória disponível consumida por alguma coisa. Nada no Gerenciador de Tarefas ou no Monitor de Recursos revela qualquer processo usando memória acima de 300 MB ... mas o uso de memória no servidor é de 15,7 GB.
As únicas coisas em execução são o SQL Server 2008 e o IIS7.5 (com ASP.Net).
Nota: O uso da RAM após uma reinicialização começa baixo e sobe. Depois de uma semana ou mais, continuamos nos encontrando nessa situação.
Como posso descobrir o que está comendo toda a nossa memória? :(
windows-server-2008
memory
performance-monitoring
memory-usage
task-manager
Django Reinhardt
fonte
fonte
Respostas:
Este é um servidor de 64 bits - as políticas de bloqueio de páginas na memória estão ativadas? Provavelmente, o SQL está consumindo o restante de sua memória. Se você olhar nos contadores de perfmon, verá a alocação de memória
Aqui está um artigo que explica detalhadamente
Você também pode visualizar os contadores no SQL
fonte
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 outro lugar.
fonte
Pode ser útil usar o RamMap para ver para onde vai sua memória.
fonte
Você está realmente tendo algum problema relacionado à memória?
O uso da memória se torna mais alto que a memória instalada real ou apenas enche e fica lá?
Se a memória apenas enche, mas você não está enfrentando nenhum problema, é apenas o cache fazendo seu trabalho; a memória será liberada automaticamente se e quando você realmente precisar dela.
Se o uso da memória estiver acima do limite físico e o servidor parar, então você está tendo algum vazamento de memória e definitivamente deve depurá-lo.
Alguns artigos interessantes sobre o tópico "cache":
http://blogs.msdn.com/ntdebugging/archive/2007/11/27/too-much-cache.aspx
http://blogs.msdn.com/ntdebugging/archive/2007/10/10/the-memory -shell-game.aspx
http://blogs.msdn.com/ntdebugging/archive/2009/02/06/microsoft-windows-dynamic-cache-service.aspx
fonte
você inspecionou o Perfmon (especificamente os contadores SQL), conforme sugerido por alguém em seu outro segmento?
fonte
A primeira coisa é, como já foi dito antes, corrigi-lo e ver se isso resolve o problema.
Em segundo lugar, se isso não funcionar, use o Process Explorer para obter uma melhor visão do uso da memória. Vá para o menu Exibir, selecione Colunas, Processar memória e marque as opções Bytes particulares, Tamanho virtual e Tamanho do conjunto de trabalho. Veja se isso indica o que é o culpado aqui.
Uma abordagem drástica seria tentar interromper os serviços. O IIS, por exemplo, pode ser um porco com memória total, se você tiver pools de aplicativos e jardins da Web mal configurados (muitos deles); portanto, esse é um candidato.
Boa sorte!
fonte