Condividi tramite


Contatori relativi a CPU e Windows negli strumenti di profilatura

Il profiler di Visual Studio 2012 consente di raccogliere dati sulle prestazioni generati dal sistema operativo (contatori di Windows) e dal processore (contatori della CPU).

Requisiti

  • Visual Studio Ultimate, Visual Studio Premium, Visual Studio Professional 

[!NOTA]

Le funzioni di sicurezza avanzate di Windows 8 e Windows Server 2012 hanno richiesto modifiche significative riguardo alla modalità di raccolta dei dati su queste piattaforme da parte del profiler di Visual Studio.Le applicazioni Windows Store richiedono nuove tecniche di raccolta.Vedere Profilatura delle applicazioni Windows 8 e Windows Server 2012.

Contatori Windows

I contatori di Windows fanno parte dell'infrastruttura diagnostica di Windows che fornisce informazioni sulle prestazioni del sistema operativo o di una applicazione, un servizio o un driver.I contatori Windows variano in base alla configurazione del computer in uso e potrebbero non essere disponibili in altri computer.I contatori delle prestazioni di Windows vengono raccolti nei file dei dati di profilatura come contrassegni che possono essere utilizzati per filtrare visualizzazioni e rapporti.

Contatori della CPU

I contatori CPU costituiscono una funzionalità della CPU del computer e memorizzano il numero di eventi correlati all'hardware. Quando si raccolgono dati del contatore della CPU tramite il metodo di profilatura della strumentazione, i dati vengono aggiunti ai quelli relativi a funzioni e moduli.È possibile raccogliere dati di più contatori della CPU mediante il metodo di strumentazioneQuando si utilizza il metodo di campionamento, si seleziona un contatore da utilizzare come evento da campionare.

I contatori delle prestazioni sono specifici della CPU.Le impostazioni di configurazione di una CPU per attivare uno stesso contatore delle prestazioni possono variare significativamente in base al modello e alla versione di CPU.Gli eventi portabili del profiler di Visual Studio 2012 disaccoppiano alcuni contatori delle prestazioni comuni da processori specifici e consentono di raccogliere o campionare eventi di prestazioni generici.

Se si desidera raccogliere dati per uno specifico evento con il profiler, ad esempio richieste non soddisfatte dalla cache L2, è possibile compilare una sessione di prestazioni relativa al mittente dell'evento.Ciò è possibile in qualsiasi CPU provvista di cache L2.La sessione di prestazioni può essere trasportata su diverse piattaforme senza bisogno di modifiche.

Il profiler di Visual Studio continua a supportare eventi specifici per una determinata piattaforma.Ad esempio, uno sviluppatore su una piattaforma Pentium 4 potrebbe voler contare gli eventi specifici relativi all'architettura NetBurst.Questo evento non è portabile, ma è disponibile per lo sviluppatore per una sessione di prestazioni specifica su una determinata piattaforma.

Eventi portabili e piattaforma

Gli eventi portabili costituiscono un gruppo di contatori della CPU non specifici di un determinato processore.Tutti gli altri contatori della CPU sono denominati eventi di piattaforma e potrebbero non essere supportati su piattaforme diverse.

I contatori per gli eventi portabili e di piattaforma sono definiti in file XML nei quali vengono indicati specifici valori relativi ai contatori.Esistono più file per le diverse CPU perché i dati per i processori AMD e INTEL, ad esempio, sono diversi.Queste informazioni vengono utilizzate dal profiler di Visual Studio 2008 per offrire i contatori appropriati, portabili e di piattaforma, per consentire un'accurata valutazione delle prestazioni.

Eventi portabili

Gli eventi portabili contengono i seguenti eventi:

Eventi generali

Nome evento

Descrizione evento

Istruzioni ritirate

Indica il numero di istruzioni che sono state eseguite fino al completamento dell'evento.

Cicli non interrotti

Indica solo i cicli nei quali il processore non è stato interrotto, ad esempio in attesa di I/O.

Eventi front end

Nome evento

Descrizione evento

Mancati riscontri ITLB

Indica il numero di ricerche ITLB (Instruction Translation Look-aside Buffer) che hanno prodotto un mancato riscontro.

Eventi creazione di un ramo

Nome evento

Descrizione evento

Creazioni di rami ritirate

Indica il numero di istruzioni di creazione rami eseguite fino al completamento dell'evento.

Creazioni di un ramo stimate in modo errato

Indica le creazioni di un ramo stimate in modo non corretto a causa della previsione di un percorso errato da parte del processore.Le creazioni di un ramo stimate in modo non corretto incidono sulle prestazioni perché il processore deve ignorare tutte le operazioni effettuate e iniziare nuovamente l'elaborazione utilizzando un percorso corretto.

Eventi memoria:

Nome evento

Descrizione evento

Richieste non soddisfatte lettura cache L2

Indica il numero di richieste non soddisfatte di lettura della cache di secondo livello.

Riferimenti lettura cache L2

Indica il numero di riferimenti di lettura della cache di secondo livello.Include le richieste di caricamento e le richieste RFO (Read For Ownership) non soddisfatte e i riscontri.

Visualizzazione dei contatori disponibili

È possibile elencare i contatori di CPU disponibili nell'IDE di Visual Studio in una finestra del prompt dei comandi.

Interfaccia utente di Visual Studio

Per elencare i contatori disponibili in un computer nell'IDE di Visual Studio, è necessario che una sessione di prestazioni del profiler sia aperta in Esplora prestazioni.

Per visualizzare un elenco di tutti i contatori di CPU supportati sulla piattaforma corrente

  1. In Esplora prestazioni fare clic con il pulsante destro del mouse sulla sessione di prestazioni, quindi scegliere Proprietà.

  2. Effettuare una delle seguenti operazioni:

    • Fare clic su Campionamento, quindi selezionare Contatore di prestazioni dall'elenco di eventi Campione.I contatori di CPU verranno elencati in Contatori di prestazioni disponibili.

      Nota   Fare clic su Annulla per tornare alla configurazione di campionamento precedente.

    - oppure -

    • Selezionare Contatori CPU, quindi Raccogli contatori CPU.I contatori di CPU verranno elencati in Contatori disponibili.

      Nota   Fare clic su Annulla per tornare alla configurazione della raccolta di contatori precedente.

Per visualizzare un elenco di tutti i contatori di Windows supportati sulla piattaforma corrente

  1. In Esplora prestazioni fare clic con il pulsante destro del mouse sulla sessione di prestazioni, quindi scegliere Proprietà.

  2. Fare clic su Contatori Windows.

  3. Selezionare Raccogliere contatori Windows.

  4. Dall'elenco Categoria contatori, selezionare un gruppo di contatori.Il contatore relativo a Windows per il gruppo verrà visualizzato nella casella di riepilogo.

    Nota   Fare clic su Annulla per tornare alla configurazione della raccolta di contatori precedente.

Riga di comando

Con lo strumento da riga di comando VSPerfCmd è possibile elencare i contatori di CPU disponibili in un computer dalla riga di comando.

Per visualizzare un elenco di tutti i contatori di CPU supportati sulla piattaforma corrente

  1. Aprire una finestra del prompt dei comandi.

  2. Type

    <Visual Studio Performance Tools Directory>\VSPerfCmd /querycounters

    dove <Visual Studio Performance Tools Directory> è in genere il percorso della directory Performance Tools dell'installazione di Visual Studio in uso

    C:\Programmi\Microsoft Visual Studio 10.0\Team Tools\Performance Tools

Vedere anche

Attività

Procedura: scegliere eventi di campionamento

Procedura: raccogliere dati dei contatori CPU tramite il metodo di strumentazione

Procedura: raccogliere i dati dei contatori Windows

Altre risorse

Cenni preliminari (strumenti di profilatura)