Cách sử dụng Công cụ Trình phân tích tài nguyên phân bổ

Meggin Kearney
Meggin Kearney

Hãy dùng công cụ trình phân bổ phân bổ để tìm các đối tượng không được thu gom rác đúng cách và tiếp tục giữ lại bộ nhớ.

Cách công cụ này hoạt động

Trình phân tích tài nguyên phân bổ kết hợp thông tin tổng quan nhanh chi tiết của trình phân tích vùng nhớ khối xếp với hoạt động cập nhật và theo dõi dần dần của bảng điều khiển Dòng thời gian. Tương tự như các công cụ này, quá trình phân bổ vùng nhớ khối xếp của đối tượng theo dõi bao gồm việc bắt đầu ghi, thực hiện một trình tự các thao tác, sau đó dừng quá trình ghi để phân tích.

Công cụ này sẽ định kỳ chụp ảnh nhanh vùng nhớ khối xếp trong suốt quá trình ghi (tần suất 50 mili giây một lần!) và một bản tổng quan nhanh cuối cùng vào cuối quá trình ghi.

Trình phân tích mức phân bổ

Bật trình phân tích phân bổ

Cách bắt đầu sử dụng trình phân tích tài nguyên phân bổ:

  1. Đảm bảo bạn có Chrome Canary mới nhất.
  2. Mở Công cụ dành cho nhà phát triển và nhấp vào biểu tượng bánh răng ở phía dưới bên phải.
  3. Bây giờ, hãy mở bảng điều khiển của Trình phân tích tài nguyên, bạn sẽ thấy một hồ sơ có tên là "Record Heap Allocations" (Ghi lại quá trình phân bổ vùng nhớ khối xếp)

Ghi lại trình phân bổ vùng nhớ khối xếp

Đọc hồ sơ phân bổ vùng nhớ khối xếp

Hồ sơ phân bổ vùng nhớ khối xếp cho biết vị trí các đối tượng đang được tạo và xác định đường dẫn giữ lại. Trong ảnh chụp nhanh bên dưới, các thanh ở trên cùng cho biết thời điểm tìm thấy đối tượng mới trong vùng nhớ khối xếp.

Chiều cao của mỗi thanh tương ứng với kích thước của các đối tượng được phân bổ gần đây và màu của thanh cho biết các đối tượng đó có còn hoạt động trong bản tổng quan nhanh vùng nhớ khối xếp cuối cùng hay không. Thanh màu xanh dương cho biết các đối tượng vẫn đang hoạt động ở cuối tiến trình, thanh màu xám biểu thị các đối tượng đã được phân bổ trong tiến trình nhưng sau đó đã được thu thập rác:

Ảnh chụp nhanh trong trình phân tích hoạt động phân bổ

Trong ảnh chụp nhanh bên dưới, một hành động đã được thực hiện 10 lần. Chương trình mẫu sẽ lưu 5 đối tượng vào bộ nhớ đệm, nên sẽ có 5 thanh màu xanh dương cuối cùng. Tuy nhiên, thanh màu xanh dương ở ngoài cùng bên trái cho thấy có thể có vấn đề.

Sau đó, bạn có thể sử dụng thanh trượt trong tiến trình ở trên để phóng to ảnh chụp nhanh cụ thể đó và xem các đối tượng được phân bổ gần đây tại thời điểm đó:

Phóng to ảnh chụp nhanh

Khi nhấp vào một đối tượng cụ thể trong vùng nhớ khối xếp, bạn sẽ thấy cây giữ lại của đối tượng đó ở phần dưới cùng của ảnh chụp nhanh của vùng nhớ khối xếp. Việc kiểm tra đường dẫn giữ lại đến đối tượng sẽ cung cấp cho bạn đủ thông tin để hiểu lý do tại sao đối tượng không được thu thập, đồng thời bạn có thể thực hiện các thay đổi mã cần thiết để xoá tham chiếu không cần thiết.

Xem quy trình phân bổ bộ nhớ theo chức năng

Bạn cũng có thể xem quy trình phân bổ bộ nhớ theo hàm JavaScript. Vui lòng xem bài viết Điều tra quy trình phân bổ bộ nhớ theo hàm để biết thêm thông tin.