Condividi tramite


I programmi che usano la funzione QueryPerformanceCounter potrebbero avere prestazioni scarse

Questo articolo fornisce una risoluzione a un problema che si verifica nei computer a 32 bit e nei computer basati su x64 in cui è abilitata la tecnologia AMD Cool'n'Quiet nel BIOS.

Numero KB originale: 895980

Sintomi

Nei sistemi operativi seguenti:

  • Windows Server 2000
  • Windows XP
  • Windows Server 2003
  • Windows Server 2000 sistema operativo ospite
  • Windows XP sistema operativo guest.
  • Windows Server 2003 sistema operativo guest.

Un programma che usa la QueryPerformanceCounter funzione per eseguire query sul tempo di sistema potrebbe avere prestazioni scarse.

Per esempio:

Quando si usa il comando ping per inviare pacchetti ICMP (Internet Control Message Protocol) a un computer remoto, la risposta potrebbe mostrare tempi di risposta negativi. Ad esempio, il comando ping seguente può generare le risposte seguenti:

C:\>ping x.x.x.x

Risultato:

Ping di x.x.x.x con 32 byte di dati:

Risposta da x.x.x.x: bytes=32 time=-59ms TTL=128
Risposta da x.x.x.x: bytes=32 time=-59ms TTL=128
Risposta da x.x.x.x: bytes=32 time=-59ms TTL=128
Risposta da x.x.x.x: bytes=32 time=-59ms TTL=128

Inoltre, se si usano contatori delle prestazioni per il disco logico o il disco fisico potrebbe mostrare erroneamente un valore di latenza elevata.

Annotazioni

Questo problema si verifica in un computer che esegue una versione basata su x86 di Windows o una versione basata su x64 di Windows.

Motivo

Questo problema si verifica quando il computer dispone della tecnologia AMD Cool'n'Quiet (AMD dual core) abilitata nel BIOS o in alcuni processori Intel multi-core. I sistemi multicore o multiprocessore possono riscontrare deviazioni del contatore Time Stamp (TSC) quando l'ora tra core diversi non è sincronizzata. I sistemi operativi che usano TSC come risorsa di conservazione del tempo potrebbero riscontrare il problema.

Risoluzione

Per risolvere questo problema, rivolgersi al fornitore dell'hardware per verificare se è disponibile un nuovo aggiornamento driver/firmware per risolvere il problema.

Annotazioni

L'installazione del driver può aggiungere l'opzione /usepmtimer nel file Boot.ini. Questa opzione è descritta nella sezione "Soluzione alternativa".

Soluzione

Per risolvere questo problema, aggiornare il BIOS nel computer. In alternativa, modificare il file Boot.ini per usare l'opzione /usepmtimer. Per fare questo, segui questi passaggi:

  1. Accedere al computer utilizzando un account con le credenziali amministrative.

  2. Fare clic su Start, scegliere Esegui, digitare notepad c:\boot.inie quindi fare clic su OK.

  3. Nel file Boot.ini una riga che inizia con "default" si trova nella sezione "[boot loader]". Questa riga specifica il percorso del sistema operativo predefinito. La riga può essere visualizzata nel modo seguente:

    default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS
    

    Nella sezione "[sistemi operativi]" individuare la riga per il sistema operativo che corrisponde alla riga "default". Ad esempio, se il computer esegue Microsoft Windows Server 2003, Enterprise x64 Edition, la riga dovrebbe essere simile alla seguente:

    multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Windows Server 2003 Enterprise x64 Edition" /fastdetect /NoExecute=OptIn
    
  4. Alla fine della riga aggiungere uno spazio e quindi digitare /usepmtimer. La riga dovrebbe ora essere simile alla seguente.

    multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Windows Server 2003 Enterprise x64 Edition" /fastdetect /NoExecute=OptIn /usepmtimer
    
  5. Salvare il file e quindi uscire dal Blocco note.

  6. Riavviare il computer.

Di seguito è riportato un file di esempio Boot.ini per un sistema che contiene l'opzione /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

Annotazioni

Il file Boot.ini si trova nella cartella radice dell'unità di sistema.
L'uso dell'impostazione /UsePmTimer può introdurre una riduzione delle prestazioni.

Supporto tecnico per le versioni basate su x64 di Microsoft Windows

Se l'hardware è incluso in un'edizione windows x64 già installata, il produttore dell'hardware fornisce supporto tecnico e assistenza per l'edizione di Windows x64. In questo caso, il produttore dell'hardware fornisce supporto perché un'edizione di Windows x64 è stata inclusa nell'hardware. Il produttore dell'hardware potrebbe aver personalizzato l'installazione dell'edizione x64 di Windows usando componenti univoci. I componenti univoci possono includere driver di dispositivo specifici o potrebbero includere impostazioni facoltative per ottimizzare le prestazioni dell'hardware. Microsoft fornirà assistenza ragionevole se hai bisogno di assistenza tecnica con un'edizione di Windows x64. Tuttavia, potrebbe essere necessario contattare direttamente il produttore. Il produttore è il migliore qualificato per supportare il software installato dal produttore nell'hardware. Se hai acquistato un'edizione di Windows x64, ad esempio un'edizione di Microsoft Windows Server 2003 x64 separatamente, contatta Microsoft per il supporto tecnico.

Clausola di esclusione della responsabilità per informazioni di terze parti

I prodotti di terzi citati in questo articolo sono prodotti da società indipendenti da Microsoft. Microsoft non offre alcuna garanzia, implicita o espressa, sulle prestazioni o sull'affidabilità di questi prodotti.