Intellij Idea - การทำโปรไฟล์
Profiler ให้ข้อมูลเชิงลึกเกี่ยวกับแอปพลิเคชันของคุณเช่น CPU หน่วยความจำและการใช้งานฮีป นอกจากนี้ยังให้รายละเอียดเกี่ยวกับเธรดแอปพลิเคชัน บทนี้กล่าวถึงการใช้เครื่องมือ VisualVM สำหรับการทำโปรไฟล์แอปพลิเคชัน Java สามารถกำหนดโปรไฟล์เอนทิตีเช่น CPU และฮีป
ขอแนะนำให้ผู้อ่านบทช่วยสอนนี้คุ้นเคยกับแนวคิดของตัวสร้างโปรไฟล์แอปพลิเคชัน
บทนำ
VisualVM เป็นเครื่องมือภาพที่รวมเครื่องมือ JDK และให้ความสามารถในการทำโปรไฟล์ที่มีประสิทธิภาพ ช่วยให้คุณสร้างและวิเคราะห์ข้อมูลฮีปติดตามการรั่วไหลของหน่วยความจำตรวจสอบตัวรวบรวมขยะและดำเนินการจัดทำโปรไฟล์หน่วยความจำและ CPU
สิทธิประโยชน์
อินเทอร์เฟซภาพสำหรับแอปพลิเคชัน Java ภายในและระยะไกลที่รันบน JVM
การตรวจสอบการใช้หน่วยความจำของแอปพลิเคชันและพฤติกรรมรันไทม์ของแอปพลิเคชัน
การตรวจสอบเธรดแอปพลิเคชัน
การวิเคราะห์การจัดสรรหน่วยความจำไปยังแอปพลิเคชันต่างๆ
ถังขยะ - มีประโยชน์มากในกรณีที่เกิดการหยุดชะงักและสภาพการแข่งขัน
กองทิ้ง - มีประโยชน์มากในการวิเคราะห์การจัดสรรหน่วยความจำฮีป
การกำหนดค่า
ในส่วนนี้เราจะเรียนรู้ขั้นตอนในการกำหนดค่า VisualVM ขั้นตอนมีดังนี้ -
ดาวน์โหลดได้จากที่นี่
แตกไฟล์ zip
ไปที่ไฟล์ etc / visualvm.conf และเพิ่มบรรทัดต่อไปนี้ในไฟล์นี้ -
visualvm_jdkhome=<path of JDK>
หาก JDK ของคุณติดตั้งในไฟล์ C:\Program Files\Java\jdk-9.0.1 ไดเรกทอรีควรมีลักษณะดังนี้ -
visualvm_jdkhome="C:\Program Files\Java\jdk-9.0.1"
การตรวจสอบแอปพลิเคชัน
ตอนนี้ให้เราดูวิธีตรวจสอบแอปพลิเคชัน พิจารณาขั้นตอนต่อไปนี้เพื่อทำความเข้าใจเหมือนกัน -
- ดับเบิลคลิกที่ไฟล์ visualvm.exe
- เลือกแอปพลิเคชันจากบานหน้าต่างด้านซ้าย
- เลือกแท็บจอภาพ
คุณจะถูกนำไปยังหน้าต่างที่คุณจะได้รับรายละเอียดเกี่ยวกับ CPU, Heap, Classes และ threads หากต้องการเจาะจงกับการใช้งานให้วางเมาส์เหนือกราฟใด ๆ เราสามารถดูการใช้งาน Heap ได้ในภาพหน้าจอด้านบน
ข้อมูลเชิงลึกเกี่ยวกับเธรด
แอ็พพลิเคชัน Java สามารถมีเธรดการเรียกใช้งานได้หลายเธรด หากต้องการทราบข้อมูลเพิ่มเติมเกี่ยวกับเธรดให้เลือกแท็บเธรดของแอปพลิเคชันเฉพาะ จะให้สถิติต่างๆเกี่ยวกับเธรดเช่นจำนวนเธรดสดและเธรดดีมอน สถานะของเธรดที่แตกต่างกันคือ Running, Sleeping, Waiting, Park และ Monitor
แอปพลิเคชันการสุ่มตัวอย่าง
VisualVM รองรับ CPU การสุ่มตัวอย่างหน่วยความจำและการตรวจจับการรั่วไหลของหน่วยความจำ ในการสมัครตัวอย่างเลือกแอปพลิเคชันและเลือกแท็บตัวอย่าง -
การสุ่มตัวอย่าง CPU
สำหรับการสุ่มตัวอย่าง CPU ให้คลิกที่ปุ่ม CPU ตามที่แสดงในภาพหน้าจอต่อไปนี้ -
โปรไฟล์หน่วยความจำ
สำหรับการสร้างโปรไฟล์หน่วยความจำคลิกที่ปุ่มหน่วยความจำดังที่แสดงในภาพหน้าจอต่อไปนี้ -
หน่วยความจำรั่ว
การรั่วไหลของหน่วยความจำเกิดขึ้นเมื่อแอปพลิเคชันกำลังทำงานค่อยๆเติมฮีปด้วยวัตถุที่โปรแกรมไม่ได้ลบโดยอัตโนมัติ
หากอ็อบเจ็กต์ที่ไม่ได้ใช้โดยโปรแกรมไม่ถูกลบออกไปก็จะยังคงอยู่ในหน่วยความจำและ GC จะไม่สามารถเรียกคืนพื้นที่ได้ หากจำนวนไบต์และจำนวนอินสแตนซ์ในแอปพลิเคชันของคุณเพิ่มขึ้นอย่างต่อเนื่องและมีนัยสำคัญในโปรแกรมของคุณจนถึงจุดที่ใช้พื้นที่ทั้งหมดอาจเป็นข้อบ่งชี้ของการรั่วไหลของหน่วยความจำ
แอปพลิเคชันโปรไฟล์
ในส่วนนี้เราจะเรียนรู้วิธีการสร้างโปรไฟล์แอปพลิเคชัน ในการกำหนดโปรไฟล์แอปพลิเคชันให้เลือกแอปพลิเคชันจากบานหน้าต่างด้านซ้ายและคลิกแท็บโปรไฟล์ -
โปรไฟล์ CPU
ในการทำโปรไฟล์ CPU ให้คลิกที่ปุ่ม CPU ตามที่แสดงในภาพหน้าจอด้านล่าง -
โปรไฟล์หน่วยความจำ
ในการทำโปรไฟล์ CPU ให้คลิกที่ปุ่ม CPU ตามที่แสดงในภาพหน้าจอด้านล่าง -