Problemas de performance no Windows Server 2003 e Windows Server 2008 x86 devido ao esgotamento de VACB.

Por Denis Passos

Existem vários problemas de performance decorrentes da arquitetura x32 bits como esgotamento de Paged Pool e Non Paged Pool onde os eventos 2020 e 2019 e 333 são reportados no log de Sistema, como fazer o troubleshooting destes problemas para identificação e posterior diagnostico estão reportados em vários blogs ... Blog, Blog, Blog e Blog

Este artigo será tratado o problema específico de esgotamento de VACB

VACB – (Virtual Address Control Blocks) são estruturas usadas pelo Windows para gerenciar dados armazenados no Cache do Windows.

Este tipo de esgotamento geralmente não reporta evento especifico no log de sistema do Windows sendo mais difícil a identificação do problema.

Uma forma de identificar o problema de exaustão de VACB é coletando um dump no momento do problema e usar alguns comandos para extrair informações do consumo de Cache do Windows.

O comando do WinDBG “!filecache” mostra o uso do Cache e o conteúdo.

A informação “Removed 0 nonactive VACBs” significa que não mais existem estruturas do tipo VACB para ser alocada nas próximas solicitações de armazenamento, a partir deste ponto várias ações vão falhar como abrir o painel de controle, tentar logar na máquina, abrir um documento do office, etc.

image

Troubleshooting

Neste ponto o troubleshooting depende se o Cache está sendo consumido incorretamente, por exemplo um arquivo muito grande aberto (vários GBs) ou apenas decorrente do alto load/Uso na máquina.

image

Solução

  • Solução de longo prazo: Migrar para arquitetura x64 que possui grande área para vários recursos Paged Pool, Non Paged Poo, PTE, VACB
  • Solução de contorno/Relief temporário: Reduzir a carga no servidor, por exemplo o load de perfil de usuários, ou no caso de uma farm de servidores é possível adicionar mais servidores para balancear a carga.