Introduzione: analisi di perdita di dati di memoria

Le perdite di dati di memoria, che spesso in Java si verificano quando gli oggetti utilizzano riferimenti in modo inappropriato, possono ridurre le prestazioni ed eventualmente causare l'interruzione dell'esecuzione di un programma. La prospettiva Creazione profili e log include viste per l'analisi dell'utilizzo della memoria dell'applicazione e per il rilevamento delle perdite di dati.

Per l'analisi delle perdite di dati di memoria sono disponibili le seguenti viste:

Una volta individuata una perdita di dati, è possibile utilizzare Probekit per predisporre analisi personalizzate per esaminare oggetti specifici che potrebbero risultare i soggetti della perdita di dati.

Per identificare in modo rapido probabili perdite di dati, eseguire l'analisi della perdita di dati di memoria creando il profilo con la serie di profili Analisi perdita di dati di memoria. È possibile inoltre esaminare l'uso della memoria mediante la creazione di profili con la serie Analisi memoria; è possibile consultare questi dati con le viste Grafico riferimento oggetto, Riferimenti oggetto e Dettagli oggetto, ma non è possibile utilizzare questi dati per creare un elenco di probabili perdite di dati.

Argomento principale: Introduzione alla determinazione dei problemi di run-time

Esecuzione dell'analisi di perdita di dati di memoria

L'analisi di perdita di dati di memoria utilizza algoritmi avanzati per identificare potenziali perdite di dati di memoria basati su un confronto tra due dump di heap. È possibile definire una configurazione di creazione profili in modo da catturare manualmente i dump di heap oppure in modo che i dump di heap vengano catturati automaticamente ad intervalli specificati nella serie di creazione profili.

Prerequisiti:

Per analizzare perdite di dati:

  1. Nella scheda Creazione profili della finestra di dialogo Profilo, selezionare la serie di creazione profili Analisi perdita di dati di memoria - Dump di heap manuale o Analisi perdita di dati di memoria - Dump di heap pianificato.
  2. Fare clic su Profilo per avviare l'applicazione. La vista Probabili perdite di dati apre e visualizza le informazioni relative allo stato dell'esecuzione della creazione dei profili.
  3. Se si sta effettuando la cattura manuale di dump di heap, effettuare le seguenti operazioni:
    1. Utilizzare l'applicazione: utilizzare l'applicazione fino a quando tutti gli elementi che dovrebbero trovarsi in memoria sono in memoria. Eseguire più volte le transazioni che si desidera esaminare.
    2. Catturare il primo dump di heap facendo clic sul pulsante Cattura dump di heap Pulsante Cattura dump di heap nella vista Probabili perdite di dati. Il dump di heap viene aggiunto in Controllo creazione profili come risorsa di creazione profili.
    3. Eseguire più volte le transazioni che si desidera esaminare.
    4. Catturare un secondo dump di heap. A questo punto, è possibile terminare l'applicazione.
  4. Se si sta effettuando la cattura pianificata di dump di heap, eseguire l'applicazione per un tempo sufficiente affinché la vista Probabili perdite di dati indichi che entrambi i dump di heap sono stati catturati e che può essere avviata l'analisi. Come impostazione predefinita, il primo dump di heap viene catturato dopo 10 minuti (600 secondi) e il secondo viene catturato dopo altri 10 minuti. A questo punto, è possibile terminare l'applicazione.
  5. Nella vista Probabili perdite di dati, fare clic sul pulsante Analisi perdita di dati Pulsante Analisi perdita di dati .
  6. Nella finestra di dialogo Seleziona le opzioni perdita di dati, fare clic su OK. Una volta completata l'analisi, la vista Probabili perdite di dati contiene l'elenco degli oggetti nell'heap che facevano ancora riferimento agli oggetti del secondo dump di heap, con elencati per primi gli oggetti che con maggiore probabilità risultavano quelli con perdita di dati di memoria.
  7. Fare doppio clic sulla perdita di dati più probabile in modo da visualizzarla nella vista Grafico riferimento oggetto. Il grafico evidenzia il percorso tra l'origine della perdita di dati (l'oggetto che contiene i riferimenti) e l'oggetto potenzialmente perso; ciò consente di spostarsi nell'ambito del grafico. È possibile visualizzare informazioni statistiche su un eventuale oggetto o segmento di percorso posizionando il cursore sopra ad esso. In tale modo, è possibile individuare quanta memoria viene utilizzata e valutare l'eventualità di eliminare dei riferimenti.
  8. Fare doppio clic su un oggetto nella vista Grafico riferimento oggetto per visualizzare le informazioni dell'oggetto nella vista Dettagli oggetto. Questa vista contiene tutte le informazioni relative all'oggetto corrente in formato tabellare, comprendenti ulteriori dati sui referenti dell'oggetto (oggetti che fanno riferimento all'oggetto corrente) e oggetti di riferimento (oggetti a cui fa riferimento l'oggetto corrente).

A questo punto, è possibile modificare il codice in modo da eliminare qualsiasi riferimento non più utile, cosicché il raccoglitore di dati obsoleti possa raccogliere gli oggetti non più necessari. Creare nuovamente il profilo dell'applicazione per verificare che la perdita di dati sia stata risolta e per rilevarne eventuali altre.

Per ulteriori informazioni, leggere Analisi perdita dati di memoria.

Esame dell'utilizzo della memoria mediante l'analisi della memoria

La serie di creazione profili Analisi memoria con il tipo di creazione profili Analisi memoria/perdita di dati consente di raccogliere i riferimenti degli oggetti e di visualizzare i dump di heap. Tenere presente che è possibile visualizzare questi dati nelle viste Grafico riferimento oggetto, Riferimenti oggetto e Dettagli oggetto, ma non è possibile utilizzarli per creare un elenco di probabili perdite di dati.

Per esaminare l'utilizzo della memoria:

  1. Nella scheda Creazione profili della finestra di dialogo Profilo, selezionare la serie di creazione profili Analisi memoria. Tenere presente che la serie di creazione profili non identifica automaticamente le probabili perdite di dati.
  2. Fare clic su Profilo per avviare l'applicazione.
  3. Provare ad utilizzare le parti dell'applicazione che si desidera analizzare.
  4. In Controllo creazione profili, fare clic con il pulsante destro del mouse sulla risorsa di creazione profili dell'agent e selezionare Raccogli riferimenti oggetto nel menu a comparsa. A questo punto, è possibile terminare il programma. In Controllo creazione profili viene visualizzata una risorsa di creazione profili con i dati raccolti per l'esecuzione.
  5. Per visualizzare i riferimenti oggetto, fare clic con il pulsante destro del mouse sulla risorsa di creazione profili e nel menu a comparsa selezionare Apri con... seguito dal nome della vista che si desidera visualizzare.
Clausole di utilizzo | Commenti
(C) Copyright IBM Corporation 2000, 2004. Tutti i diritti riservati.