Cargas de memória em "espera" no Windows Server 2008 R2

6

Em nosso farm do SharePoint, todos os nossos servidores Web Front-End têm muita memória no modo de "espera", o que significa que muito pouco está disponível para nosso processo de trabalho do IIS.

Temos 32 GB de RAM em cada uma das caixas e a memória de espera aumenta para cerca de 28 GB, enquanto o processo de trabalho do IIS parece estar usando apenas 2 GB. Além disso, vimos a máquina usar o arquivo de troca extensivamente enquanto esta memória estava em espera, então estou começando a pensar que essa memória em modo de espera está impedindo o IIS de usá-lo, forçando-o a trocar para disco, causando mais problemas de desempenho .

Eu usei SysInternals RamMap para identificar o que está sendo mantido na memória, e ele foi capaz de dizer me que quase tudo na memória de espera é do tipo "Arquivo Mapeado".

Quando classifico os arquivos listados na guia de resumo de arquivos no RamMap por tamanho de arquivo, os maiores arquivos (em torno de algumas centenas de meg cada) são arquivos de log do IIS e arquivos de log do SharePoint.

Eu gostaria de entender qual processo está carregando esses arquivos na memória de espera e por que eles não estão sendo liberados. Quando eu faço um iisreset , ele não libera a memória.

Alguma idéia?

Obrigado!

    
por Jaap 03.08.2011 / 17:52

3 respostas

2

A memória de espera é um dado que foi armazenado em cache na memória e não foi modificado (embora possa ter sido lido) e pode ser descartado se necessário. Pode ser instantaneamente liberado sob demanda. Se a RAM física fosse necessária para qualquer outra coisa, a memória em Standby seria descartada, mantida na memória na chance de ser necessária novamente, e será mais rápido buscar na memória do que no disco.

Todos os arquivos mapeados são suportados pelo arquivo de paginação, portanto, se um processo tiver uma visualização mapeada de um arquivo de 2 GB, ele será protegido por 2 GB de arquivo de paginação. Portanto, se o IIS estiver em execução e tiver vários arquivos de log abertos para gravação, é bem possível que eles estejam reservando espaço no arquivo de paginação. Isso não é um problema e não afetaria negativamente o desempenho.

    
por 11.09.2013 / 16:32
0

O Windows geralmente é bom em usar memória quando está disponível e liberá-la quando outros processos a exigem. Um "arquivo mapeado" não usa memória física, mas apenas memória virtual. Um processo pode mapear um arquivo para a memória para acessar o conteúdo do arquivo como se estivesse na memória - e esse método pode ser mais rápido do que acessar o arquivo por meio de métodos tradicionais. Mas, novamente, isso não significa que o arquivo inteiro esteja carregado na memória.

Você está vendo problemas reais de desempenho na máquina?

Você pode postar algumas das estatísticas na guia "Desempenho" do Gerenciador de Tarefas do Windows?

    
por 03.08.2011 / 18:14
0

O 2008 R2 tem um problema real com a falta de memória no modo de espera. Especialmente em caixas Itanium. "É um problema conhecido" é a resposta que recebo do MS.

    
por 12.06.2012 / 01:02