JVISUALVM เป็นเครื่องมือวิเคราะห์ประสิทธิภาพโดย Sun การสนับสนุนที่ทรงพลังเช่นนี้จะไม่ทรงพลังได้อย่างไร? มันมาพร้อมกับเวอร์ชันหลังจาก JDK6.0 กำหนดค่าตัวแปรสภาพแวดล้อมและป้อน "JVISUALVM" ในระหว่างการทำงานหรือค้นหาไดเรกทอรี bin ของไดเรกทอรีการติดตั้งของ JDK โดยตรงเพื่อเรียกใช้ หากคุณใช้ JDK1.5 หรือเวอร์ชันก่อนหน้าคุณต้องติดตั้งแยกต่างหาก
ฉันคิดว่าสิ่งที่ทรงพลังอีกอย่างคือไม่จำเป็นต้องเริ่มต้นด้วยพร็อกซี (นั่นคือถ้าคุณต้องการตรวจสอบโปรแกรมคุณต้องใช้ซอฟต์แวร์ทดสอบเพื่อเรียกใช้โปรแกรมเพื่ออำนวยความสะดวกในการตรวจสอบเครื่องมือทดสอบที่คล้ายกันเช่น Yourkit) สะดวกมาก ตราบใดที่มันทำงานในสภาพแวดล้อม JDK คุณสามารถเห็นและตรวจสอบสถานะการทำงานหลังจากเปิดเครื่องมือทดสอบนี้ แน่นอนว่าหลักฐานคือการทำงานในสภาพแวดล้อม JDK เดียวกัน
ที่อยู่: https://visualvm.dev.java.net/
เชื่อมต่อ
1. โปรแกรมของเครื่องท้องถิ่นสามารถฟังได้โดยตรง
2. โปรแกรมเครื่องระยะไกลต้องเพิ่มพารามิเตอร์ JVM
-dcom.sun.management.jmxremote = true
-dcom.sun.management.jmxremote.port = 9090
-dcom.sun.management.jmxremote.ssl = false
-dcom.sun.management.jmxremote.authenticate = False
หมายเหตุ: ตรวจสอบด้วย
ชื่อโฮสต์ i
ตรวจสอบว่าเป็น IP ในท้องถิ่นหรือไม่ หาก 127.0.0.1 หรือ IP เป็นหนึ่งในหลาย IPS IP อื่น ๆ นั้นไม่ถูกต้องและการเชื่อมต่อจะไม่สามารถทำได้
นี่คือกรณีการวิเคราะห์โดยใช้ JVISUALVM เพื่อวิเคราะห์ปัญหาของ TOMCAT:
http://blog.tty.nl/2010/09/03/using-visualvm-to-fix-live-tomcat-and-jvm-problems
การติดตั้งปลั๊กอิน
เครื่องมือ-> ปลั๊กอิน> ปลั๊กอินที่มีอยู่จะมีการติดตั้งปลั๊กอินที่คุ้มค่าเช่น: VisualGC JConsole
รายการปลั๊กอิน: https://visualvm.dev.java.net/plugins.html
หมายเหตุ: การกำหนดค่าพอร์ตที่ให้ไว้ข้างต้นเป็นปัญหาเล็กน้อยดังนั้นทำไมไม่ทำโดยตรง:
ในการใช้ VisualGC คุณต้องเริ่มต้นตัวแทน JSTATD บนเครื่องระยะไกลมิฉะนั้นจะมีข้อผิดพลาด "ไม่รองรับสำหรับ JVM นี้" จะมีปัญหาการอนุญาตเมื่อเริ่มต้น JSTATD ซึ่งจำเป็นต้องแก้ไขดังนี้:
นาโน /opt /sun-jdk- 1.6 0.26 /jre/lib/security/java.policy
การคัดลอกรหัสมีดังนี้:
nano /opt/sun-jdk-1.6.0.26/jre/lib/security/java.policy
เพิ่มบรรทัดต่อไปนี้
การคัดลอกรหัสมีดังนี้:
Grant Codebase "ไฟล์: $ {java.home} /../ lib/tools.jar" {
การอนุญาต java.security.allpermission;
-
จากนั้นเริ่ม jstatd และอย่าปิด
ชอบ:
ด้าย
ตรวจสอบสถานะการทำงานของเธรด, เรียกใช้, หยุด, นอนหลับ, รอและวิเคราะห์ตรรกะของการทำงานร่วมกับโปรแกรมจริง
ในการค้นหาคนที่น่าสงสัยคุณสามารถค้นหาว่าเธรดใดในขณะนี้
ดูตัวอย่างนี้: http://blog.tty.nl/2010/09/03/using-visualvm-to-fix-live-tomcat-and-jvm-problems
สำหรับวิธีการใช้และวิเคราะห์โปรแกรมคุณสามารถอ้างถึงตัวอย่างนี้: http://www.baptiste-wicht.com/2010/07/profile-applications-java-visualvm