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

alokasi profiler menggabungkan informasi snapshot mendetail dari profiler heap dengan update dan pelacakan panel linimasa secara bertahap. Serupa dengan alat ini, pelacakan alokasi heap objek melibatkan langkah memulai perekaman, menjalankan serangkaian tindakan, lalu menghentikan perekaman untuk dianalisis.

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

Profiler alokasi

Mengaktifkan profiler alokasi

Untuk mulai menggunakan profiler alokasi:

  1. Pastikan Anda menggunakan 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"

Profiler alokasi heap

Membaca profil alokasi heap

Profil alokasi heap menunjukkan tempat objek dibuat dan mengidentifikasi jalur yang menahan. Pada cuplikan di bawah, bilah di bagian atas menunjukkan saat objek baru ditemukan di heap.

Ketinggian setiap batang sesuai dengan ukuran objek yang baru-baru ini dialokasikan, dan warna batang menunjukkan apakah objek tersebut masih aktif pada snapshot heap akhir atau tidak. 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

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

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

Perbesar cuplikan

Mengklik objek tertentu dalam heap akan menampilkan hierarki yang mempertahankannya di bagian bawah snapshot heap. Dengan memeriksa jalur penahan ke objek tersebut, Anda akan mendapatkan 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.