สารบัญ:

JVM ใช้หน่วยความจำเท่าใด
JVM ใช้หน่วยความจำเท่าใด

วีดีโอ: JVM ใช้หน่วยความจำเท่าใด

วีดีโอ: JVM ใช้หน่วยความจำเท่าใด
วีดีโอ: Dealing with JVM Limitations in Apache Cassandra 2024, เมษายน
Anonim

NS JVM มี หน่วยความจำ นอกเหนือจากฮีปที่เรียกว่า Non-Heap หน่วยความจำ . มันถูกสร้างขึ้นที่ JVM การเริ่มต้นและจัดเก็บโครงสร้างต่อคลาส เช่น พูลค่าคงที่รันไทม์ ข้อมูลฟิลด์และเมธอด และโค้ดสำหรับเมธอดและคอนสตรัคเตอร์ รวมถึงสตริงภายใน ขนาดสูงสุดเริ่มต้นของ non-heap หน่วยความจำ คือ 64 MB

คำถามก็คือ JVM ใช้ RAM เท่าใด

NS JVM มีการตั้งค่าเริ่มต้น 1/4 ของ main หน่วยความจำ . หากคุณมี 4 GB จะมีค่าเริ่มต้นเป็น 1 GB หมายเหตุ: นี่เป็นระบบที่ค่อนข้างเล็กและคุณจะได้รับอุปกรณ์ฝังตัวและโทรศัพท์ซึ่งสิ่งนี้ หน่วยความจำมาก.

อาจมีคนถามว่าหน่วยความจำ JVM คืออะไร? NS หน่วยความจำ JVM ประกอบด้วยส่วนต่อไปนี้: หน่วยความจำฮีป ซึ่งเป็นที่เก็บข้อมูลสำหรับอ็อบเจ็กต์ Java ไม่ใช่- หน่วยความจำฮีป ซึ่ง Java ใช้เพื่อจัดเก็บคลาสที่โหลดและข้อมูลเมตาอื่นๆ JVM รหัสตัวเอง JVM โครงสร้างภายใน โค้ดและข้อมูลของตัวสร้างโปรไฟล์ที่โหลด ฯลฯ

ต่อมา คำถามคือ เธรด Java ใช้หน่วยความจำเท่าใด

นึกถึง การใช้ด้าย และขนาดกอง ตัวเลือกเริ่มต้น -Xss512k หมายความว่าแต่ละ เกลียว จะ ใช้ 512kb ของ หน่วยความจำ . ค่าเริ่มต้น JVM ที่ไม่มีตัวเลือกนี้คือ 1MB

ฉันจะตรวจสอบการใช้หน่วยความจำ Java ของฉันได้อย่างไร

5 วิธีที่ไม่ง่ายนักในการตรวจสอบการใช้ Heap ของ Java Application ของคุณ

  1. การใช้หน่วยความจำโดย 'กระบวนการ' ที่แสดงโดยคำสั่งของระบบปฏิบัติการ เช่น top (unix) หรือ Task Manager (Windows) ไม่ใช่การใช้จาวาฮีป
  2. จาวา -Xmx1024m.
  3. ใช้ Jconsole
  4. ใช้ VisualVM
  5. ใช้คำสั่ง Jstat
  6. ใช้ตัวเลือกบรรทัดคำสั่ง -verbose:gc

แนะนำ: