Uso da memória do pool paginável do kernel extremo (Win 7 de 64 bits)

3

Atualmente, estou executando o Win 7 Pro de 64 bits em um sistema de servidor de arquivos com 12 discos rígidos. As unidades são conectadas por meio de placas controladoras 2x IBM M1015 (flash para o firmware do modo de TI LSI 9211-8i). Estou usando o sistema como um servidor de arquivos de mídia e executando o FlexRAID para gerenciar uma matriz RAID de instantâneo. Os arquivos são muito grandes backups Blu-ray, arquivos MKV, normalmente 25-35 GB de tamanho.

Quando o FlexRAID executa uma verificação de integridade de dados (chamada "Validate"), ele lê todos os discos de dados simultaneamente e calcula a soma de verificação de cada arquivo. Quando executo essa tarefa, meu uso de memória do Conjunto Paginado aumenta rapidamente até que a memória virtual alocada tenha desaparecido, ponto no qual o Windows expande o pool de VMs. Isso continua até que a tarefa finalmente seja concluída, mas durante esse tempo meu sistema fica muito lento e instável.

O Process Explorer não mostra nenhum processo que esteja causando o vazamento. FlexRAID está usando apenas 79K de memória. Usando o Poolmon, descobri que o tag MmSt é o culpado - mas esse é o gerenciador de memória do Window. Por um motivo desconhecido, o Windows está mapeando os arquivos MKV para a memória virtual, causando o alto uso. Não tenho certeza de como parar isso.

Eu tentei as sugestões mostradas em KB312362 (escritas para o MS Server 2003), mas não funcionou. Desativei o MS Security Essentials e o serviço Superfetch, mas também não houve melhorias.

Existe uma maneira de eu me aprofundar nisso, para ver qual seria a causa raiz?

    
por Matsutake 28.04.2013 / 18:55

1 resposta

1

Este post explica praticamente tudo que é relevante para o seu problema, incluindo várias soluções:

link

Citações relevantes do post:

[...]

What is the MmSt pool tag?

The MmSt pool tag is used by the Memory Manager when reserving memory for section prototype PTEs. A prototype PTE is a structure that maps the physical location of a page or set of pages to a memory mapped file. [...]

[...]

Most Common Root Causes for high MmSt pool usage

  • The Memory Manager cannot trim paged pool memory quickly enough before allocations start failing
  • Heavy file I/O because too many files or large files are opened simultaneously
  • Outlook .PST/Lotus Notes .NSF > files being stored on the server and opened over the network
  • (Volume Shadow Copy) snapshots aren’t dismounting
  • Large $MFT due to fragmentation or many files on the volumeVSS

[...]

Troubleshooting Steps and Resolutions

[...]

  • Adjust Maximum Paged Pool Memory and Trimming
    • [...]
    • PoolUsageMaximum from KB312362 can safely be set to a decimal value of 40 which will cause trimming to start when paged pool reaches 40% of the maximum limit
    • PagedPoolSize should be set to 0xFFFFFFFF to ensure the system reserves as much paged pool memory as possible
  • [...]

[...]

Esses valores de registro estão localizados em HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Control \ Gerenciador de sessão \ Gerenciamento de memória de acordo com link (também vinculado a partir do post).

Eu recomendo ler o post inteiro para mais detalhes. Para uma introdução mais geral ao pool paginado, blogs.technet.com/b/markrussinovich/archive/2009/03/26/3211216.aspx vale a pena ler também (não é um link, porque SO não acha que eu sou digno o suficiente para postar mais de 2 links ainda ...).

    
por 03.07.2013 / 16:06