Come utilizzare lo strumento di Profiler di allocazione

Meggin Kearney
Meggin Kearney

Utilizza lo strumento di profiler di allocazione per individuare gli oggetti che non vengono correttamente garbage collection e continuare a conservare la memoria.

Come funziona lo strumento

Lo strumento Allocation profiler combina le informazioni dettagliate dell'istantanea del profilo heap con l'aggiornamento e il monitoraggio incrementali del riquadro Sequenza temporale. Analogamente a questi strumenti, il monitoraggio dell'allocazione dell'heap degli oggetti prevede l'avvio di una registrazione, l'esecuzione di una sequenza di azioni e l'interruzione della registrazione per l'analisi.

Lo strumento acquisisce periodicamente snapshot dell'heap durante la registrazione (ogni 50 ms) e un'istantanea finale alla fine della registrazione.

Profiler di allocazione

Abilita profiler di allocazione

Per iniziare a utilizzare il profiler di allocazione:

  1. Assicurati di avere la versione più recente di Chrome Canary.
  2. Apri Strumenti per sviluppatori e fai clic sull'icona a forma di ingranaggio in basso a destra.
  3. Ora, apri il riquadro Profiler, dovresti vedere un profilo chiamato "Registra allocazioni heap"

Profiler delle allocazioni dell'heap nei record

Lettura di un profilo di allocazione heap

Il profilo di allocazione dell'heap mostra dove vengono creati gli oggetti e identifica il percorso di conservazione. Nell'istantanea riportata di seguito, le barre nella parte superiore indicano quando vengono trovati nuovi oggetti nell'heap.

L'altezza di ogni barra corrisponde alle dimensioni degli oggetti allocati di recente e il colore delle barre indica se questi oggetti sono ancora attivi nell'istantanea finale dell'heap. Le barre blu indicano gli oggetti ancora attivi alla fine della sequenza temporale, mentre le barre grigie indicano gli oggetti assegnati durante la sequenza temporale, ma che successivamente sono stati garbage collection:

Istantanea profiler di allocazione

Nell'istantanea riportata di seguito, un'azione è stata eseguita 10 volte. Il programma di esempio memorizza nella cache cinque oggetti, pertanto sono previste le ultime cinque barre blu. Tuttavia, la barra blu all'estrema sinistra indica la presenza di un potenziale problema.

Puoi quindi utilizzare i dispositivi di scorrimento nella sequenza temporale in alto per aumentare lo zoom su quello specifico snapshot e visualizzare gli oggetti recentemente assegnati in quel punto:

Aumenta lo zoom sull'istantanea

Se fai clic su un oggetto specifico nell'heap, nella parte inferiore dell'istantanea dell'heap verrà visualizzato l'albero di conservazione. L'esame del percorso di conservazione dell'oggetto dovrebbe fornire informazioni sufficienti per capire perché l'oggetto non è stato raccolto e potrai apportare le modifiche necessarie al codice per rimuovere il riferimento non necessario.

Visualizza l'allocazione della memoria per funzione

Puoi anche visualizzare l'allocazione della memoria tramite la funzione JavaScript. Per ulteriori informazioni, consulta Esaminare l'allocazione della memoria per funzione.