Crescimento rápido da tabela de páginas

2

Não faz muito tempo, vi uma ferramenta muito interessante RamMap . Eu encontrei em vários servidores executando o nosso software x32 que PAGE TABLE cresce muito rapidamente - 1,2 GB por dia (de 10GB todos). A PISCINA NÃO PAGADA cresce 300MB por dia.

  1. Alguém pode explicar as razões habituais para isso?
  2. Como posso obter o tamanho da PAGE TABLE do código (para a função de API do exemplo ou a classe WMI)?
  3. Pode ser diminuído, limpo ou ... para liberar RAM?

Temos programação e plataforma de execução chamada 1C (plataforma orientada a negócios russa). Um processo é como um gerente sobre os outros, que são lançados no cronograma e são terminados por regras e executam diferentes tipos de processamento de dados, incluindo a troca com outras bases de dados usando COM. Em outras palavras, não sei dizer o que está acontecendo no nível da plataforma (ela está oculta para nós). Nós temos alguns não rápido (=)) apoio de desenvolvedores de plataforma - eles ainda não responderam sobre as nossas perguntas para esta questão.

Temos diferentes configurações de SO (2003 e 2008 Server, x32 e x64). A tabela de páginas em todo lugar cresce. A velocidade de crescimento é proporcional ao número de processos em execução simultaneamente (no servidor principal 30-40). Quando PAGE TABLE atinge 50-70% do servidor de RAM, ele começa a falhar de maneiras diferentes.

    
por tormozit 23.08.2010 / 18:13

1 resposta

5

Parece um problema de fragmentação de memória virtual; a memória está sendo alocada e desalocada continuamente, e cada vez que novas Entradas da Tabela de Página (PTEs) estão sendo criadas para manter o controle das páginas da memória; sua afirmação de que muitos processos estão sendo criados e finalizados e que o aumento dessa tabela de páginas é proporcional ao número de processos em execução realmente aponta nessa direção. Além disso, os PTEs geralmente são mantidos em memória não paginada (eles são vitais para o menager de memória, portanto devem sempre residir na memória); Isso também explica o aumento no uso do pool não paginado.

Alguns links sobre isso:

link
link

Estes também são muito úteis para entender o que poderia estar acontecendo:

link
link
link

Infelizmente, não há muito o que fazer sobre isso; Esta página é específica do Exchange, mas talvez possa dar algumas dicas:

link

Este é um tipo de problema que nenhuma reinicialização do aplicativo pode corrigir; somente uma reinicialização completa do servidor pode limpar a fragmentação da memória virtual.

Usar um sistema x64 pode ajudar aqui, já que o espaço de endereço virtual é consideravelmente maior; mas isso não corrigirá o problema de fragmentação, por isso não corrigirá o aumento do uso de PTE.

    
por 23.08.2010 / 18:26