選單

取得Java記憶體使用情況

目錄

Java 記憶取得使用情況 Runtime.getRuntime().totalMemory, freeMemory

Java 傳回虛擬機器記憶體資訊的「總計」、「已使用」和「最大可用」資訊。
各項目的解釋如下。

  • 全部的Runtime.getRuntime().totalMemory()這是分配給 Java 虛擬機器的記憶體量。
  • 使用量Runtime.getRuntime().totalMemory()-Runtime.getRuntime().freeMemory()變得,
    目前在記憶體中分配的物件的記憶體使用情況。
  • 最大可用Runtime.getRuntime().maxMemory()是 Java 虛擬機器將嘗試使用的最大記憶體量。
    如果使用量接近總容量,並且即使透過垃圾回收也無法保證可用內存,Java 虛擬機將擴展到「最大可用」容量。

範例程式

/** * 傳回有關 Java 虛擬機器的總記憶體、已使用的記憶體量以及它嘗試使用的最大記憶體量的資訊。 * @return Java虛擬機器記憶體資訊 */ public static String getMemoryInfo() { DecimalFormat f1 = new DecimalFormat("#,###KB"); DecimalFormat f2 = new DecimalFormat("##ime); ).freeMemory() / 1024; 長總計= Runtime.getRuntime().totalMemory() / 1024; 長最大值= Runtime.getRuntime().maxMemory() / 1024; 長已使用= 總計- 空閒; 雙倍比率= (已使用* 100 / (double)total); String info = "Java記憶體資訊:Total = + f1.format(total) + ", " + "Used = + f1.format(used) + " (" + f2.format(比率) + "%)," + "最大可用="+f1.format(max); 回傳訊息; }


執行結果1

◆執行範例

公共靜態無效主(字串[] args){ System.out.println(getMemoryInfo()); }

◆輸出結果

Java記憶體資訊:總計=1,984KB,使用量=458KB(23.1%),最大可用=65,088KB

執行結果2

◆執行範例
嘗試更改 Java 堆大小並運行。
Java 堆大小的值可以指定為 Java 指令的選項。

java -Xms64m -Xmx512m 主要

-Xms初始堆大小
指定 Java 虛擬機器的初始記憶體分配。預設值為 2MB。
-Xmx最大堆疊大小
指定分配給 Java 虛擬機器的最大記憶體。預設值為 64MB。

公共靜態無效主(字串[] args){ System.out.println(getMemoryInfo()); }

◆輸出結果

Java記憶體資訊:總計=65,088KB,使用量=524KB(0.8%),最大可用=520,256KB

「總 Runtime.getRuntime().totalMemory()」是-Xms,「最大可用Runtime.getRuntime().maxMemory()」是-Xmx它鏈接到。

  • 網址をコピーしました!
目錄