Zuweisungs-Profiler verwenden

Meggin Kearney
Meggin Kearney

Verwenden Sie das Zuordnungsprofil-Tool, um Objekte zu finden, die nicht ordnungsgemäß durch die automatische Speicherbereinigung bereinigt werden, und den Arbeitsspeicher beizubehalten.

Funktionsweise des Tools

Der Zuordnungs-Profiler kombiniert die detaillierten Snapshot-Informationen des Heap-Profilers mit dem inkrementellen Aktualisieren und Tracking des Bereichs „Zeitachse“. Ähnlich wie bei diesen Tools umfasst das Verfolgen der Heap-Zuweisung von Objekten das Starten einer Aufzeichnung, das Ausführen einer Abfolge von Aktionen und das Beenden der Aufzeichnung zur Analyse.

Das Tool erstellt während der gesamten Aufzeichnung regelmäßig Heap-Snapshots (alle 50 ms) und am Ende der Aufzeichnung einen abschließenden Snapshot.

Zuweisungs-Profiler

Zuweisungs-Profiler aktivieren

So verwenden Sie den Zuordnungsprofil-Profiler:

  1. Prüfen Sie, ob Sie die aktuelle Version von Chrome Canary verwenden.
  2. Öffnen Sie die Entwicklertools und klicken Sie unten rechts auf das Zahnradsymbol.
  3. Öffnen Sie nun das Profiler-Steuerfeld. Dort sollten Sie ein Profil mit dem Namen „Heap-Zuweisungen aufzeichnen“ sehen.

Profiler für Heap-Zuweisungen aufzeichnen

Heap-Zuweisungsprofil lesen

Das Heap-Zuweisungsprofil zeigt, wo Objekte erstellt werden, und gibt den Beibehaltungspfad an. Im folgenden Snapshot zeigen die Balken oben an, wenn neue Objekte im Heap gefunden werden.

Die Höhe der einzelnen Balken entspricht der Größe der kürzlich zugewiesenen Objekte. Die Farbe der Balken gibt an, ob diese Objekte im endgültigen Heap-Snapshot noch live sind oder nicht. Blaue Balken stehen für Objekte, die am Ende der Zeitachse noch aktiv sind. Graue Balken kennzeichnen Objekte, die während der Zeitachse zugewiesen wurden, aber seitdem automatisch bereinigt wurden:

Snapshot des Zuweisungs-Profilers

Im folgenden Snapshot wurde eine Aktion zehnmal ausgeführt. Das Beispielprogramm speichert fünf Objekte im Cache, sodass die letzten fünf blauen Balken zu erwarten sind. Aber der blaue Balken ganz links weist auf ein potenzielles Problem hin.

Sie können dann die Schieberegler in der Zeitachse oben verwenden, um diesen bestimmten Snapshot heranzuzoomen und die Objekte zu sehen, die zu diesem Zeitpunkt kürzlich zugewiesen wurden:

Snapshot heranzoomen

Wenn Sie auf ein bestimmtes Objekt im Heap klicken, wird dessen Beibehaltungsbaum im unteren Teil des Heap-Snapshots angezeigt. Die Untersuchung des Beibehaltungspfads zum Objekt sollte Ihnen genügend Informationen liefern, um nachzuvollziehen, warum das Objekt nicht erfasst wurde. Sie können dann die erforderlichen Codeänderungen vornehmen, um den unnötigen Verweis zu entfernen.

Arbeitsspeicherzuweisung nach Funktion ansehen

Sie können die Arbeitsspeicherzuweisung auch nach JavaScript-Funktion ansehen. Weitere Informationen finden Sie unter Arbeitsspeicherzuweisung nach Funktion untersuchen.