Monitoring Java Virtual Machine

จากบทความ Java Virtual Machine Memory Management ทำให้เราพอทราบได้แล้วว่าการทำงานของ GC ใน Virtual Machine ทำงานอย่างไรทีนี้ เราก็มาดูของ จริงกันว่าโปรแกรม java ของเรามันใช้งานไปเท่าไหร่ มีอะไรเกิดขึ้นบ้างระหว่างการทำงานของมัน โดยผมเลือกใช้เจ้า jvmstat ดาวโหลดได้จาก http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-jvm-419420.html#jvmstat-3_0-mr-oth-JPR มาทำการ ตรวจสอบดูว่า Virtual Machine ของเราใช้ memory ไปเท่าไหร่แล้ว ซึ่งเจ้าโปรแกรมตัวนี้จะแสดงผลออกมาเป็นแบบกราฟให้เราได้ชมกัน

ตัวอย่างของผมจะใช้เครื่อง Mac OS X และผมจะทำการ Monitoring JVM ของ Tomcat นะครับ โดนก่อนอื่นเลยสำหรับ คนที่ใช้ Mac ต้องทำ symbolic link ของ jar ไฟล์ที่ยังไม่ครบก่อนนะครับ สำหรับ OS อื่นๆให้ข้ามตรงนี้ไปเลยครับ

Continue reading

Java Virtual Machine Memory Management

ในการจัดการ memory ของ jvm นั้นจะแบ่งส่วนต่างๆ ออกเป็นสามส่วนหลักๆคือ
Young Generation, Old Generation และ Permanent Generation ซึ่งแต่ละส่วนจะมีหน้าที่จัดการกับ memory อย่างชัดเจน

Screen Shot 2556-01-03 at 11.57.08 PM

ภาพนี้เป็นภาพที่สวยที่สุดแล้วจากความพยายามใช้ openoffice ของผม

Continue reading