DetailPage-MSS-KB

Base de Dados de Conhecimento

ID do artigo: 300956 - Última revisão: sexta-feira, 30 de agosto de 2013 - Revisão: 6.0

Nesta página

Sumário

Este artigo descreve como recriar manualmente os valores da biblioteca de contador de desempenho.

Mais Informações

Importante Esta seção, este método ou esta tarefa contém etapas que descrevem como modificar o Registro. No entanto, sérios problemas poderão ocorrer caso você modifique o Registro incorretamente. Portanto, siga essas etapas cuidadosamente. Para obter mais proteção, faça um backup do Registro antes de modificá-lo. Dessa forma, se ocorrer algum problema, você poderá restaurar o Registro. Para obter mais informações sobre como fazer backup e restaurar o Registro, clique no número abaixo para exibir o artigo da Base de Dados de Conhecimento Microsoft:
322756  (http://support.microsoft.com/kb/322756/pt-br/ ) Como fazer backup e restaurar o Registro no Windows
Quando você usa a ferramenta Monitor do Sistema, é possível que alguns contadores estejam ausentes ou não contenham dados. O conjunto base de bibliotecas de contador de desempenho pode se tornar corrompido e precisar ser reconstruído. Além disso, talvez você precise recriar os contadores personalizados (aplicativo .NET Framework criado) ou extensíveis.

Esse comportamento poderá ocorrer se determinados contadores extensíveis corromperem o Registro ou se algum programa baseado na WMI (Instrumentação de Gerenciamento do Windows) modificar o Registro.

Recriar os contadores de desempenho base

As informações sobre o contador extensível estão armazenadas nos seguintes locais:
  • A seguinte subchave do Registro:
    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\Current Version\Perflib\009
  • Os arquivos %Systemroot%\System32\Perfc009.dat e %Systemroot%\System32\Perfh009.dat
Para recriar manualmente as bibliotecas de contador de desempenho base, siga estas etapas:
  1. Expanda os arquivos Perfc009.dat e Perfh009.dat. Esses arquivos estão localizados no Disco de Instalação do Windows. Os arquivos compactados podem ser encontrados em LetraDaUnidade:\i386\perfc009.da_ e em LetraDaUnidade:\i386\perfh009.da_. Substitua os arquivos que estão na pasta %Systemroot%\System32.
  2. Inicie o Editor do Registro e localize a seguinte chave no Registro:
    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Perflib
  3. No Registro, altere o valor LastCounter para 1846 (decimal) e altere o valor LastHelp para 1847 (decimal).
  4. Localize a seguinte chave de Registro para pesquisar por serviços que possuam uma subchave Desempenho:
    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services
  5. Remova os seguintes valores da subchave Desempenho (se existirem):
    • First Counter
    • First Help
    • Last Counter
    • Last Help
    Também é possível usar a ferramenta Exctrlst.exe para localizar os arquivos DLL (biblioteca de vínculo dinâmico) do contador de desempenho instaladas e acessar o Registro para remover os valores DWORD. Você possui agora um Registro de desempenho funcional que contém apenas contadores base do sistema.

    Observação A remoção dos valores da subchave Desempenho do Registro pode fazer com que os aplicativos .NET Framework instalados não funcionem na próxima vez em que forem iniciados. Se isso acontecer, use o comando lodctr /R na seção "Adicionar novamente os contadores extensíveis" para recriar os contadores de desempenho. Se você continuar enfrentando problemas ao iniciar um aplicativo .NET Framework, consulte a seção "Reinstalar os contadores de desempenho personalizados do assembly .NET Framework" neste artigo.

Adicionar novamente os contadores extensíveis

Você deve adicionar novamente os contadores extensíveis da lista de serviços. Antes de fazer isso, identifique o arquivo .ini usado para carregar os contadores:
  1. Abra uma janela do prompt de comando.
  2. No prompt de comando, digite cd %Systemroot%\System32 e pressione ENTER.
  3. No prompt do comando, digite findstr drivername *.ini e pressione ENTER.
  4. Anote o nome do arquivo .ini para cada nome de driver na lista.
  5. No prompt de comando, digite o seguinte comando e pressione ENTER:
    lodctr <inifile>
    Observação Nesse comando, <inifile> representa o nome do arquivo .ini do driver a ser recarregado.
    Por exemplo, a lista exibida na etapa 4 mostra que, se o driver a ser carregado for o driver ASP, o arquivo .ini será o Axperf.ini (axperf.ini:drivername=ASP). Portanto, para recarregar o driver ASP, digite lodctr axperf.ini no prompt de comando e pressione ENTER.
  6. Repita a etapa 5 para cada arquivo .ini presente na lista.
  7. Reinicie o computador.
Para reconstruir todos os contadores de desempenho no Windows Server 2003, incluindo contadores extensíveis e de terceiros, digite os comandos a seguir em um prompt de comando. Pressione ENTER após cada comando.
cd\windows\system32
lodctr /R
Observações
  • /R deve estar em letra maiúscula. Para executar o comando com êxito, você deve ter direitos administrativos no computador.
  • Em computadores que executam a edição de 32 bits do Windows XP, o comando Lodctr /R:<nome_do_arquivo> é o método padrão usado para restaurar informações e cadeias de caracteres do Registro do contador de desempenho por meio de um nome de arquivo.
O Windows Server 2003 recria todos os contadores porque lê todos os arquivos .ini na pasta C:\Windows\inf\009 para o sistema operacional em inglês.

Observações
  • Se estiver executando um produto Datacenter ou Cluster, realize o failover do nó para atualizar a lista de contadores. Faça isso depois de executar as etapas descritas em "Adicionar novamente os contadores extensíveis" para contadores base e extensíveis.
  • Em sistemas que executam aplicativos que adicionam seus próprios contadores de desempenho, como o Microsoft Exchange ou o SQL Server, o arquivo .ini utilizado para carregar o contador de desempenho pode não estar localizado em %Systemroot%\System32. Esses arquivos .ini podem ser encontrados normalmente na estrutura de pastas do aplicativo.
  • Se, ao executar as etapas anteriores, você receber uma mensagem de erro sobre a biblioteca de desempenho, talvez seja necessário descarregar e recarregar as bibliotecas de vínculos dinâmicos (DLLs) de desempenho do IIS. Para obter mais informações sobre como fazer isso, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento Microsoft (a página pode estar em inglês):
    267831  (http://support.microsoft.com/kb/267831/pt-br/ ) Mensagem de aviso de identificação do evento 2003 registrada ao carregar os contadores de desempenho
  • Se continuar enfrentando problemas ao iniciar um aplicativo .NET Framework, consulte a seção "Reinstalar os contadores de desempenho personalizados do assembly .NET Framework".

Reinstalar os contadores de desempenho personalizados do assembly .NET Framework

Se continuar enfrentando problemas ao iniciar um aplicativo .NET Framework após executar os procedimentos listados aqui, talvez seja necessário recriar os contadores de desempenho do aplicativo .NET Framework personalizado. Para fazer isso, use a opção "/i" na Ferramenta de Instalação do .NET Framework (Installutil.exe). Você precisa saber os nomes dos arquivos DLL que criam os contadores de desempenho.

Exemplo

Se seguir esses procedimentos e remover os contadores do Registro de todos os serviços instalados em um sistema que possui o Microsoft System Center Operations Manager 2007, você poderá ter um Servidor de Gerenciamento quebrado. Isso ocorre porque os contadores dos módulos Serviço de Configuração, Serviço SDK e Gravação do Banco de Dados não são fornecidos na forma de contadores extensíveis em arquivos INI. Em vez disso, eles são registrados no momento da instalação. Portanto, quando tentar iniciar o System Center Operations Manager 2007, como os contadores de desempenho estão ausentes, você poderá receber uma mensagem de erro parecida com esta:

Tipo de Evento: Erro
Origem do Evento: Serviço SDK do OpsMgr
Categoria do Evento: Nenhuma
Identificação do Evento: 26380
Data: data
Hora: hora
Usuário: N/D
Computador: MOM
Descrição: Ocorreu falha no Serviço SDK do System Center Operations Manager devido a uma exceção não resolvida.

Para solucionar esse problema no System Center Operations Manager 2007, reinstale os assemblies do .NET Framework que criaram os contadores de desempenho. Para fazer isso, use a opção /i na Ferramenta de Instalação do .NET Framework (Installutil.exe) para reinstalar os seguintes assemblies:
  • Microsoft.Mom.ConfigService.dll
  • Microsoft.Mom.Sdk.ServiceDataLayer.dll
  • Microsoft.Mom.DatabaseWriteModules.dll
  • Microsoft.EnterpriseManagement.HealthService.Modules.DataWarehouse.dll
Por exemplo, no prompt de comando, digite os seguintes comandos e pressione ENTER após cada um:
InstallUtil /i Microsoft.Mom.ConfigService.dll

InstallUtil /i Microsoft.Mom.Sdk.ServiceDataLayer.dll

InstallUtil /i Microsoft.Mom.DatabaseWriteModules.dll

InstallUtil /i Microsoft.EnterpriseManagement.HealthService.Modules.DataWarehouse.dll
Observação Para executar esses comandos com êxito, você deve ter direitos administrativos no computador.

A informação contida neste artigo aplica-se a:
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professional Edition
  • Windows Server 2008 Datacenter
  • Windows Server 2008 Enterprise
  • Windows Server 2008 Standard
  • Microsoft Windows XP Professional x64 Edition
  • Windows 7 Enterprise
  • Windows 7 Home Basic
  • Windows 7 Home Premium
  • Windows 7 Professional
  • Windows 7 Starter
  • Windows 7 Ultimate
  • Windows Server 2008 R2 Datacenter
  • Windows Server 2008 R2 Enterprise
  • Windows Server 2008 R2 Foundation
  • Windows Server 2008 R2 Standard
Palavras-chave: 
kbenv kbhowto KB300956
Compartilhar
Opções de suporte adicionais
Fóruns de Suporte do Microsoft Community
Contate-nos diretamente
Localize um parceiro certificado da Microsoft
Microsoft Store