Cara Menggunakan Alat Allocation Profiler

Meggin Kearney
Meggin Kearney

Gunakan alat profiler alokasi untuk menemukan objek yang tidak dibersihkan sampah memorinya dengan benar, dan terus mempertahankan memori.

Cara kerja alat ini

allocation profiler menggabungkan informasi snapshot mendetail dari profiler heap dengan pembaruan dan pelacakan inkremental panel Linimasa. Serupa dengan alat ini, pelacakan alokasi heap objek berkaitan dengan memulai perekaman, menjalankan serangkaian tindakan, lalu menghentikan perekaman untuk dianalisis.

Alat ini mengambil snapshot heap secara berkala selama perekaman (sesering setiap 50 md!) dan satu snapshot terakhir di akhir rekaman.

Profiler alokasi

Aktifkan profiler alokasi

Untuk mulai menggunakan profiler alokasi:

  1. Pastikan Anda memiliki Chrome Canary terbaru.
  2. Buka Developer Tools dan klik ikon roda gigi di kanan bawah.
  3. Sekarang, buka panel Profiler, dan Anda akan melihat profil bernama "Record Heap Allocations"

Rekam profiler alokasi heap

Membaca profil alokasi heap

Profil alokasi heap menampilkan tempat objek dibuat dan mengidentifikasi jalur yang dipertahankan. Dalam snapshot di bawah, batang di bagian atas menunjukkan kapan objek baru ditemukan di heap.

Tinggi setiap batang sesuai dengan ukuran objek yang baru-baru ini dialokasikan, dan warna batang menunjukkan apakah objek tersebut masih aktif atau tidak dalam snapshot heap akhir. Batang biru menunjukkan objek yang masih aktif di akhir linimasa, Batang abu-abu menunjukkan objek yang dialokasikan selama linimasa, tetapi telah dibersihkan sampah memorinya:

Snapshot profiler alokasi

Pada snapshot di bawah, tindakan dilakukan 10 kali. Program contoh menyimpan lima objek dalam cache, sehingga lima batang biru terakhir diharapkan. Namun, bilah biru paling kiri menunjukkan potensi masalah.

Selanjutnya, Anda dapat menggunakan penggeser di linimasa di atas untuk memperbesar snapshot tersebut dan melihat objek yang baru saja dialokasikan pada titik tersebut:

Perbesar snapshot

Mengklik objek tertentu dalam heap akan menampilkan pohon yang mempertahankannya di bagian bawah snapshot heap. Memeriksa jalur yang dipertahankan ke objek akan memberi Anda informasi yang cukup untuk memahami alasan objek tidak dikumpulkan, dan Anda dapat membuat perubahan kode yang diperlukan untuk menghapus referensi yang tidak diperlukan.

Melihat alokasi memori berdasarkan fungsi

Anda juga dapat melihat alokasi memori berdasarkan fungsi JavaScript. Lihat Menginvestigasi alokasi memori berdasarkan fungsi untuk mengetahui informasi selengkapnya.