Condividi tramite


Raccolta di dati di durata e allocazione di memoria .NET

Negli strumenti di profilatura di Visual Studio è supportata la raccolta di dati sull'allocazione di memoria .NET e sulla durata di oggetti allo scopo di rilevare i problemi di prestazioni correlati alla memoria che si verificano nell'applicazione. 

  • I dati sull'allocazione di memoria .NET includono le dimensioni e il numero di oggetti di memoria .NET Framework che sono stati allocati.

  • I dati sulla durata degli oggetti includono invece le dimensioni e il numero di oggetti di memoria .NET Framework recuperati nelle tre generazioni di Garbage Collection.

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.

È possibile raccogliere dati tramite il metodo di profilo basato su campionamento o su strumentazione.

  • Quando si utilizza il metodo di campionamento, il profiler tiene traccia di tutti gli oggetti e di tutte le allocazioni di memoria .NET generati dal processo avviato o connesso al profiler.

  • Quando si utilizza il metodo di strumentazione, il profiler tiene traccia solo degli oggetti e delle allocazioni di memoria .NET generati dai moduli instrumentati.

Nota importanteImportante

Quando si raccolgono dati di memoria .NET (allocazioni, durata degli oggetti o entrambe) utilizzando il metodo di campionamento, tutti gli eventi di campionamento specificati dall'utente vengono ignorati e gli eventi di allocazione di memoria appropriati vengono utilizzati per raccogliere dati.

Se si abilita il profilo dell'allocazione di memoria .NET, si abilita anche la visualizzazione Allocazione.Se si abilita il profilo dei dati sulla durata degli oggetti .NET, si abilita anche la visualizzazione Durata oggetti.Per ulteriori informazioni, vedere Visualizzazione Allocazioni per la memoria .NET e Visualizzazione Durata oggetti.

Per informazioni sulla raccolta dei dati di memoria .NET tramite gli strumenti da riga di comando disponibili negli strumenti di profilatura, vedere Utilizzo dei metodi di memoria .NET per raccogliere i dati sull'allocazione di memoria e sulla durata degli oggetti in Utilizzo di metodi di profilatura per raccogliere dati di prestazioni tramite la riga di comando.

Per raccogliere dati di memoria .NET

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

  2. Nella finestra di dialogo Performance SessionPagine delle proprietà , fare clic sulla scheda Generale e selezionare la casella di controllo Raccogliere le informazioni sull'allocazione dell'oggetto .NET.

  3. Per raccogliere i dati sulla durata degli oggetti .NET, selezionare la casella di controllo Raccogliere anche le informazioni sulla durata dell'oggetto .NET.

Attività comuni

È possibile specificare opzioni aggiuntive nella finestra di dialogo Pagine delle proprietà di Performance Session della sessione di prestazioni.Per aprire questa finestra di dialogo:

  • In Esplora prestazioni fare clic con il pulsante destro del mouse sul nome della sessione di prestazioni e scegliere Proprietà.

Le attività nella tabella seguente descrivono le opzioni che è possibile specificare nella finestra di dialogo Performance SessionPagine delle proprietà quando si raccolgono i dati di memoria .NET.

Attività

Contenuto correlato

Nella pagina Generale, specificare i dettagli di denominazione per il file dei dati di profilo (vsp) generato.

Nella pagina Avvio scegliere l'applicazione da avviare se si dispone di più progetti EXE nella soluzione del codice.

Nella pagina Interazione tra livelli, aggiungere i dati di chiamata ADO.NET all'esecuzione di profilo.

Nella pagina Eventi Windows specificare uno o più eventi Traccia eventi per Windows (ETW) da raccogliere con i dati di campionamento.

Nella pagina Contatori Windows, specificare uno o più contatori di prestazioni del sistema operativo da aggiungere ai dati di profilo come contrassegni.

Nella pagina Avanzate specificare la versione del runtime di .NET Framework di cui eseguire il profilo se i moduli dell'applicazione utilizzano più versioni.Per impostazione predefinita, viene eseguito il profilo della prima versione caricata.

Attività di strumentazione

Le attività nella tabella seguente descrivono le opzioni della finestra di dialogo Pagine delle proprietà specifiche del profilo eseguito con il metodo di strumentazione.

Attività

Contenuto correlato

Nella pagina Binari, specificare un percorso per le copie instrumentate dei moduli.Per impostazione predefinita, i binari originali vengono spostati in una cartella di backup.

Nella pagina Strumentazione, escludere le piccole funzioni dal profilo per ridurre il sovraccarico di profilo, eseguire il profilo del codice JavaScript nelle pagine Web ASP.NET e specificare i comandi da eseguire in un prompt dei comandi prima e dopo il processo di strumentazione.

Nella pagina Contatori CPU, specificare uno o più contatori di prestazioni del processore da aggiungere ai dati di profilo.

Nella pagina Avanzate specificare le opzioni aggiuntive VSInstr.exe desiderate, ad esempio le opzioni per includere o escludere funzioni specifiche.Per ulteriori informazioni sulle opzioni VSInstr, vedere VSInstr.

Vedere anche

Attività

Procedura: scegliere un metodo di raccolta

Concetti

Configurazione di sessioni di prestazioni per gli strumenti di profilatura

Proprietà della sessione di prestazioni