วิธีใช้เครื่องมือโปรไฟล์การจัดสรร

เมกกิน เคียร์นีย์
Meggin Kearney

ใช้เครื่องมือสร้างโปรไฟล์การจัดสรรเพื่อค้นหาออบเจ็กต์ที่ไม่ได้รวบรวมขยะอย่างถูกต้อง และเก็บหน่วยความจำไว้ต่อไป

วิธีการทํางานของเครื่องมือ

เครื่องมือสร้างโปรไฟล์การจัดสรรรวมข้อมูลภาพรวมโดยละเอียดของเครื่องมือสร้างโปรไฟล์เข้ากับการอัปเดตและการติดตามที่เพิ่มขึ้นของแผงไทม์ไลน์ เช่นเดียวกับเครื่องมือเหล่านี้ การจัดสรรฮีปของออบเจ็กต์การติดตามจะรวมถึงการเริ่มการบันทึก การดำเนินการตามลำดับ จากนั้นหยุดการบันทึกเพื่อการวิเคราะห์

เครื่องมือจะถ่ายฮีพสแนปชอตเป็นระยะๆ ตลอดการบันทึก (โดยบ่อยเท่ากับทุกๆ 50 มิลลิวินาที) และสแนปชอตสุดท้าย 1 รายการในช่วงท้ายของการบันทึก

เครื่องมือสร้างโปรไฟล์การจัดสรร

เปิดใช้เครื่องมือสร้างโปรไฟล์การจัดสรร

วิธีเริ่มใช้เครื่องมือสร้างโปรไฟล์การจัดสรร

  1. ตรวจสอบว่าคุณใช้ Chrome Canary เวอร์ชันล่าสุดแล้ว
  2. เปิดเครื่องมือสำหรับนักพัฒนาซอฟต์แวร์และคลิกไอคอนรูปเฟืองที่ด้านขวาล่าง
  3. จากนั้นเมื่อเปิดแผงเครื่องมือสร้างโปรไฟล์ คุณควรเห็นโปรไฟล์ชื่อ "บันทึกการจัดสรรฮีป"

บันทึกเครื่องมือสร้างโปรไฟล์การจัดสรรฮีป

อ่านโปรไฟล์การจัดสรรฮีป

โปรไฟล์การจัดสรรฮีปจะแสดงตำแหน่งที่สร้างออบเจ็กต์และระบุเส้นทางการเก็บรักษา ในภาพรวมด้านล่าง แถบที่ด้านบนจะระบุเวลาที่พบออบเจ็กต์ใหม่ในฮีป

ความสูงของแต่ละแท่งจะสอดคล้องกับขนาดของออบเจ็กต์ที่จัดสรรไว้ล่าสุด และสีของแท่งจะระบุว่าออบเจ็กต์เหล่านั้นยังคงอยู่ในฮีพสแนปชอตสุดท้ายหรือไม่ แถบสีน้ำเงินหมายถึงวัตถุที่ยังคงมีชีวิตอยู่ที่ส่วนท้ายของเส้นควบคุมเวลา แถบสีเทาหมายถึงวัตถุที่มีการจัดสรรระหว่างไทม์ไลน์ แต่หลังจากนั้นมาเก็บรวบรวมขยะ

สแนปชอตเครื่องมือสร้างโปรไฟล์การจัดสรร

ในภาพรวมด้านล่าง มีการดำเนินการ 10 ครั้ง โปรแกรมตัวอย่างจะแคชออบเจ็กต์ 5 รายการ ดังนั้น คาดว่าแถบสีน้ำเงิน 5 แถบสุดท้าย แต่แถบสีน้ำเงินด้านซ้ายสุดหมายถึงปัญหาที่อาจเกิดขึ้น

จากนั้นคุณสามารถใช้แถบเลื่อนในไทม์ไลน์ด้านบนเพื่อซูมเข้าสแนปชอตเฉพาะนั้นและดูออบเจ็กต์ที่ได้รับการจัดสรรเมื่อเร็วๆ นี้

ซูมเข้าไปที่สแนปชอต

การคลิกที่ออบเจ็กต์ที่ต้องการในฮีปจะแสดงโครงสร้างที่คงไว้ในส่วนล่างของสแนปชอตฮีป การตรวจสอบเส้นทางการเก็บรักษาไปยังออบเจ็กต์น่าจะให้ข้อมูลที่เพียงพอเพื่อให้เข้าใจว่าเหตุใดออบเจ็กต์จึงไม่ได้รับการรวบรวม และคุณจะเปลี่ยนแปลงโค้ดที่จำเป็นเพื่อนำข้อมูลอ้างอิงที่ไม่จำเป็นออกได้

ดูการจัดสรรหน่วยความจำตามฟังก์ชัน

นอกจากนี้คุณยังดูการจัดสรรหน่วยความจำตามฟังก์ชัน JavaScript ได้อีกด้วย โปรดดูข้อมูลเพิ่มเติมที่ตรวจสอบการจัดสรรหน่วยความจำตามฟังก์ชัน