เมนู

รับการใช้งานหน่วยความจำ Java

สารบัญ

ชวา หน่วยความจำรับการใช้งาน Runtime.getRuntime().totalMemory, หน่วยความจำฟรี

ชวา ส่งกลับข้อมูล "ทั้งหมด", "ใช้แล้ว" และ "ใช้งานได้สูงสุด" เกี่ยวกับข้อมูลหน่วยความจำเครื่องเสมือน
คำอธิบายแต่ละรายการมีดังนี้

  • ทั้งหมด...Runtime.getRuntime().totalMemory()นี่คือจำนวนหน่วยความจำที่จัดสรรให้กับเครื่องเสมือน Java
  • ปริมาณการใช้...Runtime.getRuntime().totalMemory()- -Runtime.getRuntime().freeMemory()กลายเป็น,
    การใช้หน่วยความจำของอ็อบเจ็กต์ที่จัดสรรไว้ในหน่วยความจำในปัจจุบัน
  • ใช้งานได้สูงสุด...Runtime.getRuntime().maxMemory()คือจำนวนหน่วยความจำสูงสุดที่ Java Virtual Machine จะพยายามใช้
    หากจำนวนที่ใช้เข้าใกล้หน่วยความจำทั้งหมดและหน่วยความจำว่างไม่สามารถรักษาความปลอดภัยได้แม้ว่าจะมีการรวบรวมขยะ เครื่องเสมือน Java จะขยายเป็นความจุ "สูงสุดที่มีอยู่"

โปรแกรมตัวอย่าง

/** * ส่งกลับข้อมูลเกี่ยวกับหน่วยความจำรวมของเครื่องเสมือน Java จำนวนที่ใช้ และ * จำนวนหน่วยความจำสูงสุดที่เครื่องเสมือนพยายามใช้ * @return ข้อมูลหน่วยความจำเครื่องเสมือน Java */ public static String getMemoryInfo() { DecimalFormat f1 = new DecimalFormat("#,###KB"); DecimalFormat f2 = new DecimalFormat("##.#"); long free = Runtime.getRuntime ( ).freeMemory() / 1024; long Total = Runtime.getRuntime().totalMemory() / 1024; long max = Runtime.getRuntime().maxMemory() / 1024; long used = รวม - ฟรี; double ratio = ( ใช้แล้ว * 100 / (double)total); String info = "ข้อมูลหน่วยความจำ Java: Total = + f1.format(total) + ", " + "Used = + f1.format(used) + " (" + f2.format( อัตราส่วน) + "%)," + "maximum available="+f1.format(max); return info; }


ผลการดำเนินการ 1

◆ตัวอย่างการดำเนินการ

โมฆะคงสาธารณะหลัก (สตริง [] args) { System.out.println (getMemoryInfo ()); }

◆ผลลัพธ์เอาท์พุต

ข้อมูลหน่วยความจำ Java: ทั้งหมด=1,984KB การใช้งาน=458KB (23.1%) ใช้งานได้สูงสุด=65,088KB

ผลการดำเนินการ 2

◆ตัวอย่างการดำเนินการ
ลองเปลี่ยนขนาดฮีป Java และรัน
ค่าของขนาดฮีป Java สามารถระบุเป็นอ็อพชันของคำสั่ง Java ได้

ชวา -Xms64m -Xmx512m หลัก

-Xms ขนาดฮีปเริ่มต้น
ระบุการจัดสรรหน่วยความจำเริ่มต้นให้กับเครื่องเสมือน Java ค่าเริ่มต้นคือ 2MB
-Xmx ขนาดฮีปสูงสุด
ระบุการจัดสรรหน่วยความจำสูงสุดให้กับเครื่องเสมือน Java ค่าเริ่มต้นคือ 64MB

โมฆะคงสาธารณะหลัก (สตริง [] args) { System.out.println (getMemoryInfo ()); }

◆ผลลัพธ์เอาท์พุต

ข้อมูลหน่วยความจำ Java: ทั้งหมด=65,088KB การใช้งาน=524KB (0.8%) ใช้งานได้สูงสุด=520,256KB

"Total Runtime.getRuntime().totalMemory()" คือ-Xms, "จำนวนสูงสุดที่ Runtime.getRuntime().maxMemory()" คือ-Xmxมันเชื่อมโยงกับ.

  • URL をkoピーしました!
สารบัญ