Os programas que usam a função QueryPerformanceCounter podem ter um desempenho ruim
Este artigo fornece uma resolução para um problema que ocorre em computadores de 32 bits e computadores baseados em x64 que têm a tecnologia AMD Cool'n'Quiet habilitada no BIOS.
Aplica-se a: Windows Server 2012 R2, Windows 10 - todas as edições
Número original do KB: 895980
Sintomas
Nos seguintes sistemas operacionais:
- Windows Server 2000
- Windows XP
- Windows Server 2003
- O.S. convidado do Windows Server 2000.
- O.S. convidado do Windows XP.
- O.S. convidado do Windows Server 2003.
Um programa que usa a função para consultar o QueryPerformanceCounter
tempo do sistema pode ter um desempenho ruim.
Por exemplo:
Quando você usa o comando ping para enviar pacotes ICMP (Protocolo de Mensagem de Controle da Internet) para um computador remoto, a resposta pode mostrar tempos de resposta negativos. Por exemplo, o seguinte comando ping pode gerar as seguintes respostas:
C:\>ping x.x.x.x
Saída:
Pingando x.x.x.x com 32 bytes de dados:
Resposta de x.x.x.x: bytes=32 time=-59ms TTL=128
Resposta de x.x.x.x: bytes=32 time=-59ms TTL=128
Resposta de x.x.x.x: bytes=32 time=-59ms TTL=128
Resposta de x.x.x.x: bytes=32 time=-59ms TTL=128
Além disso, se você usar contadores de desempenho para Disco Lógico ou Disco Físico pode mostrar incorretamente um valor de alta latência.
Observação
Esse problema ocorre em um computador que está executando uma versão baseada em x86 do Windows ou em uma versão baseada em x64 do Windows.
Motivo
Esse problema ocorre quando o computador tem a tecnologia AMD Cool'n'Quiet (núcleos duplos AMD) habilitada no BIOS ou em alguns processadores multi-core da Intel. Sistemas multi-core ou multiprocessadores podem encontrar a deriva TSC (Contador de Carimbo de Tempo) quando o tempo entre diferentes núcleos não for sincronizado. Os sistemas operacionais que usam o TSC como um recurso de manutenção de tempo podem ter o problema.
Resolução
Para resolve esse problema, marcar com o fornecedor de hardware para ver se uma nova atualização de driver/firmware está disponível para corrigir o problema.
Observação
A instalação do driver pode adicionar a opção /usepmtimer no arquivo Boot.ini. Essa opção é discutida na seção "Solução alternativa".
Solução alternativa
Para solucionar esse problema, atualize o BIOS no computador. Ou modifique o arquivo Boot.ini para usar o comutador /usepmtimer. Para fazer isso, siga estas etapas:
Faça logon no computador usando uma conta com credenciais administrativas.
Clique em Iniciar, clique em Executar, digite
notepad c:\boot.ini
e clique em OK.No arquivo Boot.ini, uma linha que começa com "padrão" está localizada na seção "[carregador de inicialização]". Essa linha especifica o local do sistema operacional padrão. A linha pode aparecer da seguinte maneira:
default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS
Na seção "[sistemas operacionais]", localize a linha do sistema operacional que corresponde à linha "padrão". Por exemplo, se o computador estiver executando o Microsoft Windows Server 2003, Enterprise x64 Edition, a linha deverá se assemelhar ao seguinte:
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Windows Server 2003 Enterprise x64 Edition" /fastdetect /NoExecute=OptIn
No final da linha, adicione um espaço e digite /usepmtimer. A linha agora deve se assemelhar ao seguinte.
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Windows Server 2003 Enterprise x64 Edition" /fastdetect /NoExecute=OptIn /usepmtimer
Salve o arquivo e saia do Bloco de Notas.
Reinicie o computador.
A seguir está um arquivo Boot.ini de exemplo para um sistema que contém o comutador /usepmtimer.
[boot loader]
timeout=0
default=multi(0)disk(0)rdisk(0)partition(2)\\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Windows Server 2003 Enterprise x64 Edition" /fastdetect /NoExecute=OptIn /usepmtimer
Observação
O arquivo Boot.ini está localizado na pasta raiz da unidade do sistema.
Usar a configuração /UsePmTimer pode introduzir uma diminuição no desempenho.
Suporte técnico para versões do Microsoft Windows com base em x64
Se o hardware veio com uma edição do Windows x64 já instalada, seu fabricante de hardware fornecerá suporte técnico e assistência para a edição do Windows x64. Nesse caso, ele oferece suporte porque uma edição de x64 do Windows foi incluída no hardware. O fabricante também pode ter personalizado a instalação da edição x64 do Windows, usando componentes exclusivos. O fabricante pode incluir drivers de dispositivos específicos ou configurações opcionais para maximizar o desempenho do hardware. A Microsoft fornecerá assistência razoável se você precisar de ajuda técnica com uma edição x64 do Windows. No entanto, pode ser necessário contatar diretamente o fabricante. O fabricante é o mais qualificado para dar suporte ao software instalado no hardware. Se você comprou separadamente uma edição x64 do Windows, como o Microsoft Windows Server 2003 x64, contate a Microsoft para obter suporte técnico.
Aviso de isenção de responsabilidade para informações de terceiros
Os produtos de terceiros mencionados neste artigo são produzidos por empresas independentes da Microsoft. A Microsoft não oferece nenhuma garantia, implícita ou não, do desempenho ou da confiabilidade desses produtos.
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários