Detectar problemas de desempenho em aplicações e serviços quando a cache de ficheiros de sistema consome a maior parte da RAM física

Sintomas

Ocorrem problemas de desempenho em aplicações e serviços em várias versões do Windows XP, Windows Vista, Windows Server 2003, Windows Server 2008 e Windows Server 2008 R2. Além disso, detectar os seguintes sintomas:

  • Memória disponível estiver quase gasta.

  • A cache de ficheiros de sistema consome a maior parte da RAM física.

  • Existe um volume contínuo e elevado de pedidos de leitura em cache no disco rígido.

Causa

Gestão de memória em sistemas operativos Microsoft Windows utiliza um algoritmo baseado na procura. Se qualquer processo solicita e utiliza uma grande quantidade de memória, aumenta o tamanho do conjunto de trabalho (o número de páginas de memória na memória RAM física) do processo. Se estes pedidos são contínua e desmarcada, o conjunto de trabalho do processo aumentará a consumir toda a RAM física. Nesta situação, os conjuntos de trabalho para todos os outros processos são paginados no disco rígido. Este comportamento reduz o desempenho de aplicações e serviços, porque as páginas de memória continuamente são escritas no disco rígido e ler a partir do disco rígido.

Este comportamento também se aplica ao conjunto de trabalho de cache de ficheiros de sistema. Se existir um volume contínuo e elevado em cache de pedidos de leitura a partir de qualquer processo ou de qualquer controlador, aumentará o tamanho de conjunto de trabalho da cache de ficheiros de sistema para satisfazer esta procura. A cache de ficheiros de sistema consome memória RAM física. Por conseguinte, as quantidades suficientes de RAM física não estão disponíveis para outros processos.

Nas versões de 32 bits do Microsoft sistemas operativos do Windows anteriores ao Windows Vista, os conjuntos de trabalho de cache de ficheiros de sistema têm um limite de memória teórico de menos de 1 gigabyte (GB). A limitação do intervalo de endereços virtual impede que os conjuntos de trabalho de cache de ficheiros de sistema consumir a RAM física.

Nas versões de 32 bits dos sistemas operativos Windows Vista, os recursos de kernel são atribuídos dinamicamente. Conjunto de trabalho de cache do sistema de ficheiros aumenta para consumir o intervalo de endereços virtual do modo kernel cargo outros recursos de kernel. As limitações deste intervalo de memória é inferior a 2 GB. Se o computador tiver mais de 2 GB de RAM física, a cache não é possível gases de escape toda a RAM física. No entanto, a cache pode gases de escape no kernel do espaço de endereços virtuais. Isto pode causar falhas de atribuição para outros componentes de kernel.

Nas versões de 64 bits dos sistemas operativos Windows, o tamanho do intervalo de endereços virtual é normalmente maior do que a RAM física. Nesta situação, o conjunto de trabalho para a cache de ficheiros de sistema pode aumentar a consumir a maior parte da RAM física.

Resolução

Os algoritmos de gestão de memória nos sistemas operativos Windows 7 e Windows Server 2008 R2 foram actualizados para resolver muitos ficheiros em cache os problemas que foram encontrados em versões anteriores do Windows. Existem determinadas exclusivas situações em que tem de implementar este serviço em computadores que executem o Windows 7 ou Windows Server 2008 R2.

Como determinar se o sistema é afectado

Para determinar se o sistema é afectado por este problema, instale a ferramenta de SysInternals RamMap. Pode obter a ferramenta a partir do seguinte Web site Windows Sysinternals:


Quando executa a ferramenta, seleccione a opção de Conta de utilização . Isto apresenta várias colunas que mostram o padrão actual de utilização da memória. Clique na coluna activa para ordenar pelo número de bytes utilizados e tenha em atenção a utilização superior directamente sob o total.

Se a parte superior utilizar contagem é "Metaficheiro" e, se está a ser utilizada uma grande parte da memória disponível, está a ocorrer o problema de Cache de ficheiros de sistema que é descrito na secção "Sintomas". Pode verificar isto, utilizando o Monitor de desempenho para monitorizar o contador de Bytes residentes no Cache Memory\System e Consulte cache crescem continuamente ao longo do tempo.

Figura 1. Saída de RamMap de exemplo no qual o computador está a ter o problema.



a figura 2. Saída de RamMap de exemplo no qual o computador não está com o problema.



Se o contador de Bytes residentes no Cache Memory\System no Monitor de desempenho mostra uma tendência ascendente ao longo do tempo, o computador está a ter o problema, tal como é mostrado na figura 3.

Figura 3. Saída de Monitor de desempenho de exemplo no qual o computador tem o problema ao longo do tempo.

Necessidade de reinício

Não é necessário reiniciar o computador quando instalar, desinstalar ou utilizar este serviço.

Se estiver a ler este artigo porque está a trabalhar com um cliente que crê que são afectados por este problema, siga estes passos para ajudar a resolver o problema.

  1. Certifique-se de que os dados de poolmon, perfmon ou saída de RamMap do cliente confirma que a Cache de ficheiros de sistema está a consumir a maior parte da RAM física, tal como descrito anteriormente.

  2. Para obter o serviço de Cache dinâmicos do Windows, transferi-lo .

  3. Algumas definições do registo de Cache dinâmico são os seguintes:

    Ficheiros de servidores, pode querer tentar 1GB.
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DynCache\Parameters]
    "MaxSystemCacheMBytes"=dword:00000400
    "MinSystemCacheMBytes"=dword:00000064
    "SampleIntervalSecs"=dword:0000003c
    "CacheUpdateThresholdMBytes"=dword:00000064

    Exchange 2007, poderá tentar 500 MB:
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DynCache\Parameters]
    "MaxSystemCacheMBytes"=dword:000001F4
    "MinSystemCacheMBytes"=dword:00000064
    "SampleIntervalSecs"=dword:0000003c
    "CacheUpdateThresholdMBytes"=dword:00000064

    SQL 2005 e superior, no passado ao trabalhar com o SQL EE, utilizou a 2GB:
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DynCache\Parameters]
    "MaxSystemCacheMBytes"=dword:000007D0
    "MinSystemCacheMBytes"=dword:00000064
    "SampleIntervalSecs"=dword:0000003c
    "CacheUpdateThresholdMBytes"=dword:00000064

Mais informações

Para contornar este problema, utilize a função GetSystemFileCacheSize API e a função de SetSystemFileCacheSize API para definir o valor de tamanho máximo ou mínimo para os conjuntos de trabalho de cache de ficheiros de sistema. A utilização destas funções é o único método suportado para restringir o consumo de memória física pela cache de ficheiros do sistema.

O serviço de Cache dinâmica do Microsoft Windows é um serviço de exemplo que demonstra uma estratégia para utilizar estas APIs para minimizar os efeitos deste problema.

Instalar e utilizar o serviço de Cache dinâmica do Microsoft não faz com que a exclusão de suporte para o Microsoft Windows. Este serviço e o respectivo código de origem são fornecidas como um exemplo de como utilizar o Microsoft suportados APIs para reduzir o crescimento da cache do sistema de ficheiros.

Pode obter o código de origem e de serviço a partir do seguinte Web site da Microsoft:

Recursos adicionais

Leia os capítulos 9 (gestão de memória) e 10 (Gestor da Cache) do Windows Internals, 5ª edição.







detectar problemas de desempenho em aplicações e serviços quando a cache de ficheiros de sistema consome a maior parte da RAM física

como reduzir a paginação de memória de conjunto de memória intermédia na versão de 64 bits do SQL Server

Questões de a considerar antes de activar o modo de cache de sistema no Windows XP

como optimizar a utilização do registo do Windows NT Server

sobre o Gestor da Cache no Windows Server 2003





Estado

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na secção "Aplica-se a".

Precisa de mais ajuda?

Aumente os seus conhecimentos
Explore as formações
Seja o primeiro a obter novas funcionalidades
Aderir ao Microsoft insiders

As informações foram úteis?

Obrigado pelos seus comentários!

Obrigado pelo seu feedback! Parece que poderá ser benéfico reencaminhá-lo para um dos nossos agentes de suporte do Office.

×