ID do artigo: 226494 - Última revisão: quinta-feira, 26 de fevereiro de 2009 - Revisão: 6.0

Eventos para extensões do Monitor de desempenho

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.
Expandir tudo | Recolher tudo

Sumário

Windows Server 2003 e sistemas operacionais Microsoft Windows anteriores reportam eventos no log de eventos do aplicativo quando há erros. Windows também relata eventos para fornecer informações sobre as extensões do Monitor de desempenho e contadores personalizados. Este artigo descreve como usar as configurações do Registro para controlar o erro de verificação e relatórios. Este artigo também lista as informações de evento possíveis. Essas informações podem ser úteis quando você testar e valida uma extensão de desempenho do sistema. As informações também podem ajudar a diagnosticar problemas com extensões de desempenho do sistema que são instalados como parte do aplicativo de servidor do fornecedor ou driver de dispositivo.

Mais Informações

Valores do registro

A biblioteca de desempenho (perflib), parte Advapi32.dll, lê três valores do Registro REG_DWORD que controlam diferentes níveis de erro de verificação e relatórios. Esses valores estão na seguinte chave do Registro:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib
Se esses valores não estiverem presentes, você pode adicionar os valores. A alteração terá efeito após reiniciar o Monitor de desempenho ou outra ferramenta de monitoramento de desempenho.

importante Esta seção, método ou tarefa contém etapas que informam sobre como modificar o registro. No entanto, sérios problemas poderão ocorrer se você modificar o registro incorretamente. Por isso, certifique-se que você execute essas etapas cuidadosamente. Para proteção adicional, fazer backup do registro antes de modificá-lo. Em seguida, você pode restaurar o registro se ocorrer um problema. Para obter mais informações sobre como fazer backup e restaurar o registro, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
322756  (http://support.microsoft.com/kb/322756/ ) Como fazer backup e restaurar o registro no Windows
Os seguintes nomes de valor são seguidos de valores possíveis e seus significados.
ExtCounterTestLevel

1  -  object and counter lengths are checked for consistency
2  -  buffer overflows or guard pages are checked
3  -  no checking is made but does not suppress exception handling

EventLogLevel

0  -  no errors are reported
1  -  user event log error messages (1000-1013)
2  -  warnings and errors used for debugging (1000-2002)
3  -  verbose, all information (1000-3000)
				
OpenProcedureWaitTime

Se OpenProcedureWaitTime valor estiver presente, perflib configura um procedimento de tempo limite internamente. Se a função Open do DLL de extensão monitor de desempenho não retornar dentro do tempo especificado, em milissegundos, nesse valor do Registro, um evento (2002) será lançado no log de eventos. No entanto, só controla o relatório do fato de, ele não controlar o comportamento. Por exemplo, se uma função Abrir "trava", em seguida, o processo de monitor de desempenho será "travar" independentemente da presença deste valor do Registro.

Valores do Registro para o Windows 2000

Começando com Windows 2000, uma nova entrada do registro de tempo de espera foi adicionado para a função coletar. Os valores do três registro anterior também funcionam em Windows 2000 conforme descrito anteriormente. A nova entrada de registro é colocada na seguinte chave do Registro.
HKEY_LOCAL_MACHINE
      \SYSTEM
         \CurrentControlSet
            \Services
               \(service name)
                  \Performance
				
coletar o tempo limite

O valor Collect Timeout é novo no Windows 2000. Observe o espaço no nome do valor. Se esse valor estiver presente, perflib configura um procedimento de tempo limite internamente. Se a função de coleta de DLL de extensão monitor de desempenho não retornar dentro do tempo especificado, em milissegundos, nesse valor do Registro, um evento (1015) será lançado no log de eventos.

tempo limite aberto

O valor de Tempo limite abrir é novo no Windows 2000. Observe o espaço no nome do valor. Se esse valor estiver presente, perflib configura um procedimento de tempo limite internamente. Se a função Open do DLL de extensão monitor de desempenho não retornar dentro do tempo especificado, em milissegundos, nesse valor do Registro, um evento (2002) será lançado no log de eventos.

Observação No Windows 2000, OpenProcedureWaitTime é global para todas as DLLs de extensão de desempenho. Se o valor de registro Abrir tempo limite , que é a extensão de desempenho específicos de DLL, não estiver presente, em seguida, o sistema operacional usará o valor de registro OpenProcedureWaitTime global, se ele estiver presente. Da mesma forma, se o valor de registro do Tempo limite coletar não estiver presente, o sistema operacional usará o valor de registro OpenProcedureWaitTime global, se presente. Se o valor de registro OpenProcedureWaitTime não estiver presente, o valor de tempo limite padrão é 10.000 (milissegundos).

Identificações de evento e descrições

A seguir está uma lista de identificações de evento e o texto de erro detalhadas exibido na caixa de diálogo detalhes de Visualizar eventos. Alguns dos seguintes itens também incluem informações adicionais sobre a interpretação dos detalhes do evento. Além disso, cada um dos itens dar a um nível de experiência para sugerir que talvez não consiga resolver o problema.

Muitos das descrições a seguir referem-se para um DWORD no campo Data da caixa de diálogo Detalhes do evento . Observação os dados é organizada em ordem de byte e para interpretar um DWORD em sistemas Intel você deve ler 4 bytes uma vez cada byte em ordem inversa. Por exemplo, 05 00 00 C0 pode aparecer no campo Data , mas o valor DWORD é ler C0000005.

identificação de evento: 1000
detalhes texto: O acesso aos dados de desempenho ao foi negado (username) como tentativa de (nome do módulo de chamar)

interpretação: A seguinte chave é verificada para acesso de segurança:
SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib
				
se o usuário associado com o segmento do cliente ou o token de processo não é na ACL para essa chave, este evento é lançado.

experiência: Administrador do sistema

identificação de evento: 1001
Texto de detalhes : O tamanho do buffer retornado por um procedimento collect na DLL de contador extensível (nome da DLL) para o serviço (nome de serviço) foi maior do que o espaço disponível. Dados de desempenho retornados pela DLL de contador não serão retornados em Perf Data Block. O tamanho do estouro é o dado DWORD 0.

interpretação: Perflib localiza o ponteiro de início para o buffer de dados não está apontando após o final do buffer incluindo buffer seguro.

experiência: Desenvolvedor de DLL do contador extensível nomeado

identificação de evento: 1002
detalhes texto: Uma página de proteção foi modificada por um procedimento collect na DLL de contador extensível (nome da DLL) para o serviço (nome de serviço). Dados de desempenho retornados pela DLL de contador não serão retornados em Perf Data Block.

interpretação: Perflib implementa um buffer de seguro que adiciona espaço em buffer preenchido com alguns bytes de assinatura. Esse evento significa que a extensão foi gravado após o final do buffer.

experiência: Desenvolvedor de DLL do contador extensível nomeado

identificação de evento: 1003
detalhes texto: O tamanho de objeto de um objeto retornado pela DLL de contador extensível (nome da DLL) para o serviço (nome de serviço) não está correto. A soma de tamanhos de objetos retornados não correspondeu o tamanho do buffer retornado. Dados de desempenho retornados pela DLL de contador não serão retornados em Perf Data Block. Contagem de objetos retornados é o dado DWORD 0.

interpretação: Depois que a função coletar retorna, o perflib valida os membros TotalByteLength de cada estrutura PERF_OBJECT_TYPE retornado pela extensão de desempenho. Esse evento de erro significa problema com um ou mais valores TotalByteLength em estruturas PERF_OBJECT_TYPE .

experiência: Desenvolvedor de DLL do contador extensível nomeado

identificação de evento: 1004
detalhes texto: O tamanho de instância de um objeto retornado pela DLL de contador extensível (nome da DLL) para o serviço (nome de serviço) estava incorreto. A soma dos tamanhos de instâncias mais as estruturas de definição do objeto não correspondeu o tamanho do objeto. Dados de desempenho retornados pela DLL de contador não serão retornados em Perf Data Block. O índice de título de objeto do objeto incorreto é dados DWORD 0.

interpretação: Após a função coletar retorna perflib valida os membros PERF_INSTANCE_DEFINITION ByteLength e PERF_COUNTER_BLOCK ByteLength , se o objeto tiver instâncias. Esse evento de erro significa que o membro ByteLength está incorreto.

experiência: Desenvolvedor de DLL do contador extensível nomeado

identificação de evento: 1005
detalhes texto: Não é possível localizar o aberto procedimento (nome de proc aberto) na DLL (nome da DLL) para o serviço (nome de serviço). Dados de desempenho para esse serviço não estará disponíveis. Status do erro é o dado DWORD 0.

interpretação: Perflib chama GetProcAddress para o nome da função especificado como o procedimento abrir no Registro para a extensão. Esse erro geralmente significa que o nome não foi encontrado ou porque a DLL de extensão não corretamente exportar, ou a DLL foi compilado com código C++ e extern "C" declaração não foi usada.

experiência: Desenvolvedor de DLL do contador extensível nomeado

identificação de evento: 1006
detalhes texto: Não é possível localizar a coletar procedimento (nome do procedimento collect) em DLL (nome da DLL) para o serviço (nome de serviço). Dados de desempenho para esse serviço não estará disponíveis. Status do erro é o dado DWORD 0.

interpretação: Perflib chama GetProcAddress para o nome da função especificado como o procedimento Collect no Registro para a extensão. Esse erro geralmente significa que o nome não foi encontrado ou porque a DLL de extensão não corretamente exportar, ou a DLL foi compilado com código C++ e extern "C" declaração não foi usada.

experiência: Desenvolvedor de DLL do contador extensível nomeado

identificação de evento: 1007
detalhes texto: Não é possível localizar o fechamento procedimento (nome de proc Fechar) na DLL (nome da DLL) para o serviço (nome de serviço). Dados de desempenho para esse serviço não estará disponíveis. Status do erro é o dado DWORD 0.

interpretação: Perflib chama GetProcAddress para o nome função especificado como o procedimento Fechar no Registro para a extensão. Esse erro geralmente significa que o nome não foi encontrado ou porque a DLL de extensão não corretamente exportar, ou a DLL foi compilado com código C++ e extern "C" declaração não foi usada.

experiência: Desenvolvedor de DLL do contador extensível nomeado

identificação de evento: 1008
detalhes texto: O procedimento de abertura para o serviço (nome de serviço) na DLL (nome da DLL) falhou. Dados de desempenho para esse serviço não estará disponíveis. Código de status retornado é DWORD 0.

interpretação: Se a função Abrir para uma extensão não retornar ERROR_SUCCESS, perflib envia o código de status no campo de dados do evento. Isso pode ser usado para ajudar o autor da extensão determinar por que a função Abrir falhou.

experiência: Desenvolvedor de DLL do contador extensível nomeado

identificação de evento: 1009
detalhes texto: O procedimento Open para o serviço (nome de serviço) na DLL (nome da DLL) gerou uma exceção. Dados de desempenho para esse serviço não estará disponíveis. Código de exceção retornado é DWORD 0.

interpretação: Perflib chama o desempenho funções de extensão em um bloco de __try de manipulador de exceção estruturada. Isso é lançado se ocorreu uma exceção ou RaiseException foi chamado na função Open . O campo de dados terá o código de exceção. Por exemplo, C0000005 significa que houve uma violação de acesso.

experiência: Desenvolvedor de DLL do contador extensível nomeado

identificação de evento: 1010
detalhes texto: O procedimento Collect para o serviço (nome de serviço) na DLL (nome da DLL) gerou uma exceção ou retornou um status inválido. Dados de desempenho retornados pela DLL de contador não serão retornados em Perf Data Block. Código de exceção ou status retornado é DWORD 0.

interpretação: Perflib chama o desempenho funções de extensão em um bloco de __try de manipulador de exceção estruturada. Isso é lançado se ocorreu uma exceção ou RaiseException foi chamado na função Collect. O campo de dados terá o código de exceção. Por exemplo, C0000005 significa que houve uma violação de acesso.

experiência: Desenvolvedor de DLL do contador extensível nomeado

identificação de evento: 1011
detalhes texto: Não é possível abrir o arquivo da biblioteca (nome da DLL) especificado para o serviço (nome de serviço). Dados de desempenho para esse serviço não estará disponíveis. Código de status é DWORD 0.

interpretação: Perflib usa LoadLibrary para abrir Extensões de desempenho. Se o código de status de GetLastError de falha de LoadLibrary será lançada no campo de dados do evento. Por exemplo, 7e significa que a DLL não pôde ser encontrada ou a biblioteca de nome no Registro não está correta.

experiência: Administrador de sistema ou desenvolvedor de DLL do contador extensível nomeado

identificação de evento: 1012
detalhes texto: O sistema relatou um tempo de processo ocioso menor do que a última vez que foi relatado. Os dados mostram a hora atual e a última vez relatada para processo ocioso do sistema.

interpretação: Este evento não é usado por Perflib

experiência: Nenhum

identificação de evento: 1013
detalhes texto: O procedimento collect na DLL de contador extensível (nome da DLL) para o serviço (nome de serviço) retornou um buffer maior que o espaço alocado e pode ter corrompido o heap do aplicativo. Essa DLL deve ser desabilitada ou removida do sistema até que o problema tenha sido corrigido, para evitar outras corrupções. O aplicativo acessando esses dados de desempenho deve ser reiniciado. Os dados de desempenho retornados pela DLL de contador não serão retornados em Perf Data Block. O tamanho do estouro é o dado DWORD 0.

experiência: Desenvolvedor de DLL do contador extensível nomeado

identificação de evento: 1014 disponível somente no Windows 2000
detalhes texto: Ocorreu um erro ao tentar coletar dados do objeto de servidor. O código de erro retornado pela função é DWORD 0. O status retornado no bloco de status de E/S é DWORD 1. O campo de informações do bloco de status de E/S é DWORD 2.

interpretação: Este evento não é usado por perflib.

experiência: Nenhum

identificação de evento: 1015 disponível somente no Windows 2000
detalhes texto: Expirou o tempo limite aguardando a função de coleta de dados de desempenho (nome de função) concluir. Pode haver um problema com esse contador extensível ou o serviço do qual ele está coletando dados.

experiência: Desenvolvedor de DLL do contador extensível nomeado

interpretação: Consulte comentários sobre o valor de registro do tempo limite coletar

identificação de evento: 1016 disponível somente no Windows 2000
detalhes texto: O buffer de dados criado para o serviço (nome de serviço) na biblioteca (nome da DLL) não está alinhado em um limite de 8 bytes. Isso pode causar problemas para aplicativos que estão tentando ler o buffer de dados de desempenho. Contate o fabricante dessa biblioteca ou desse serviço para ter esse problema corrigido ou para obter uma versão mais recente desta biblioteca.

experiência: Desenvolvedor de DLL do contador extensível nomeado

identificação de evento: 1017 disponível somente no Windows 2000
detalhes texto: Coleção dados de contador de desempenho do serviço (nome de serviço) foi desativada devido a um ou mais erros gerados pela biblioteca do contador de desempenho para esse serviço. Os erros que forçado essa ação foram gravados no log de eventos do aplicativo. Os erros devem ser corrigidos antes que os contadores de desempenho para este serviço são ativados novamente.

experiência: Desenvolvedor de DLL do contador extensível nomeado

identificação de evento: 1018 disponível somente no Windows 2000
detalhes texto: Coleção dados de contador de desempenho do serviço (nome de serviço) foi desativada para esta sessão devido a um ou mais erros gerados pela biblioteca do contador de desempenho para esse serviço. Os erros que forçado essa ação foram gravados no log de eventos do aplicativo.

experiência: Desenvolvedor de DLL do contador extensível nomeado

identificação de evento: mais de 1019 disponível somente no Windows 2000
detalhes texto: Um campo de definição em um objeto retornado pela DLL de contador extensível (nome da DLL) para o serviço (nome de serviço) estava incorreto. A soma dos comprimentos de bloco das definições nas estruturas de definição do objeto não ao tamanho especificado no cabeçalho de definição do objeto. Dados de desempenho retornados por esse contador que será DLL não ser retornados em Perf Data Block. O índice de título de objeto do objeto incorreto é dados DWORD 0.

interpretação: Semelhante ao evento 1003 exceto a soma dos membros estrutura contador definição comprimento é verificada. Esse evento normalmente significa que ByteLength de uma das estruturas de definição de contador do objeto de dados de desempenho está incorreta.

experiência: Desenvolvedor de DLL do contador extensível nomeado

identificação de evento: 1020 disponível somente no Windows 2000
detalhes texto: O tamanho do buffer usado é maior que passado para a função de coleta de (nome da DLL) DLL de contador extensível para o serviço (nome de serviço). O tamanho do buffer passado é dados DWORD 0 e o tamanho retornado é dados DWORD 1.

interpretação: Semelhante ao evento 1001, exceto mais informações sobre o tamanho do buffer esperado pela extensão são fornecidas.

experiência: Desenvolvedor de DLL do contador extensível nomeado

identificação de evento: 2000
detalhes texto: O ponteiro retornado não coincide com o comprimento do buffer retornado pelo procedimento Collect para o serviço (nome de serviço) na DLL de contador extensível (nome da DLL). O comprimento será ajustado para coincidir com e os dados de desempenho aparecerão em Perf Data Block. O tamanho retornado é DWORD 0, o novo tamanho é dados DWORD 1.

interpretação: Este evento é usado para o desenvolvimento e depuração de uma extensão de monitor de desempenho. Depois que o procedimento collect é chamado retorno parâmetros são verificados para consistência. Nesse caso o número de bytes ao buffer de dados de desempenho é verificado em relação a diferença real no ponteiro de buffer antes e depois que o procedimento collect é chamado.

experiência: Desenvolvedor da DLL do contador extensível nomeado

identificação de evento: 2001
detalhes texto: O serviço (nome de serviço) não tem uma subchave desempenho ou a chave não pôde ser aberta. Nenhum contador de desempenho será coletado para este serviço. O código de erro do Win32 é retornado nos dados.

interpretação: Este evento está dizendo um item em serviços de subchave não contém uma subchave de desempenho (ou ele não pôde ser aberto, por exemplo, devido a acesso de segurança). Isso é lançado para cada item sob a subchave do serviço.

experiência: Administrador do sistema ou desenvolvedor de serviço nomeado

identificação de evento: 2002
detalhes texto: O procedimento abrir para serviço (nome de serviço) na DLL (nome da DLL) levou mais que o tempo de espera estabelecido para concluir. O tempo de espera em milissegundos é mostrado nos dados.

interpretação: Consulte os comentários anteriores sobre o valor de registro de Tempo limite de abrir .

experiência: Desenvolvedor de DLL do contador extensível nomeado

identificação de evento: 2003 disponível somente no Windows 2000
detalhes texto: As informações de configuração da biblioteca de desempenho (nome da DLL) para o serviço (nome de serviço) não correspondem às informações biblioteca desempenho confiável armazenadas no registro. As funções nesta biblioteca não serão tratadas como confiáveis.

interpretação: Se o valor de "Código de validação da biblioteca" existir para o serviço nomeado na subchave desempenho, os dados são verificados em relação a hora de criação de arquivo e o tamanho do arquivo da DLL nomeado. Este erro é lançado se eles não forem correspondentes. Se o erro ocorrer, ele pode ser corrigido removendo e reinstalando o serviço nomeado.

experiência: Administrador do sistema ou desenvolvedor de serviço nomeado

identificação de evento: 3000
detalhes texto: Procedimento de abertura para o serviço (nome de serviço) na DLL (nome da DLL) foi chamado e retornou com êxito.

experiência: Iniciante

Referências

Para obter mais informações sobre as extensões do monitor de desempenho, consulte a documentação do Platform SDK no Windows Base Services; monitoramento de desempenho; dados de desempenho; adicionando contadores de desempenho.

Para obter informações sobre como resolver o evento de 2003, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
267831  (http://support.microsoft.com/kb/267831/ ) Mensagem de aviso de identificação do evento 2003 registrada ao carregar os contadores de desempenho

A informação contida neste artigo aplica-se a:
  • Interface de Programação de Aplicativos do Microsoft Win32 nas seguintes plataformas
    • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
    • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
    • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
    • Microsoft Windows XP Home Edition
    • Microsoft Windows XP Professional
    • Microsoft Windows 2000 Professional Edition
    • Microsoft Windows 2000 Server
    • Microsoft Windows 2000 Advanced Server
    • Microsoft Windows 2000 Datacenter Server
    • Microsoft Windows NT 4.0
Palavras-chave: 
kbmt kbarttypeinf kbinfo kbkernbase kbperfmon KB226494 KbMtpt
Tradução automáticaTradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 226494  (http://support.microsoft.com/kb/226494/en-us/ )