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 funzionalità di sicurezza avanzate in Windows 8 e Windows Server 2012 necessarie modifiche significative in modo che il profiler di Visual Studio consente di raccogliere dati su queste piattaforme.Le applicazioni di archivio di Windows 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.
![]() |
---|
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
In Esplora prestazioni fare clic con il pulsante destro del mouse sulla sessione di prestazioni e quindi scegliere Proprietà.
Nella finestra di dialogo sessione di prestazioniPagine delle proprietà , fare clic sulla scheda Generale e selezionare la casella di controllo Raccogliere le informazioni sull'allocazione dell'oggetto .NET.
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 Sessione prestazioni 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 Pagine delle proprietà di Sessione prestazioni quando si raccolgono i dati di memoria .NET.
Task |
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.
Task |
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