通過(guò)Runtime獲取當(dāng)前JVM使用的Heap大小
一提起如何解決內(nèi)存溢出問(wèn)題,動(dòng)輒使用復(fù)雜的監(jiān)控軟件,比如Jprofile等,其實(shí)我們可以通過(guò)Runtime來(lái)獲得當(dāng)前Heap大小,使用Heap大小。測(cè)試如下:
1. 設(shè)置JVM屬性: -Xms64m -Xmx256m 最小64M 最大使用256M.
2. 運(yùn)行如下代碼:
public static void main(String [] args) throws Exception {
int mb = 1024*1024;
//Getting the runtime reference from system
Runtime runtime = Runtime.getRuntime();
System.out.println("##### Heap utilization statistics [MB] #####");
// use memory
List testList = new ArrayList();
for(int i =0; i<5000;i++){
Thread.sleep(1000);
for(int i1 =0; i1<5000; i1++){
testList.add(new String[1000]);
}
System.out.println("Used Memory:"
+ (runtime.totalMemory() - runtime.freeMemory()) / mb+"M");
}
System.out.println("Free Memory:" + runtime.freeMemory() / mb+"M");
System.out.println("Total Memory:" + runtime.totalMemory() / mb+"M");
System.out.println("Max Memory:" + runtime.maxMemory() / mb+"M");

}


}
運(yùn)行結(jié)果如下:
##### Heap utilization statistics [MB] #####
Used Memory:19M
Used Memory:38M
Used Memory:57M
Used Memory:77M
Used Memory:96M
Used Memory:115M
Used Memory:134M
Used Memory:154M
Used Memory:173M
Used Memory:192M
Used Memory:211M
Used Memory:230M
Used Memory:249M
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at prepare.NewClass.main(NewClass.java:32)
Java Result: 1
成功生成(總時(shí)間:15 秒)
總結(jié):runtime.totalMemory() 獲取Heap大小,runtime.freeMemory() 剩余Heap大小。
1. 設(shè)置JVM屬性: -Xms64m -Xmx256m 最小64M 最大使用256M.
2. 運(yùn)行如下代碼:


























##### Heap utilization statistics [MB] #####
Used Memory:19M
Used Memory:38M
Used Memory:57M
Used Memory:77M
Used Memory:96M
Used Memory:115M
Used Memory:134M
Used Memory:154M
Used Memory:173M
Used Memory:192M
Used Memory:211M
Used Memory:230M
Used Memory:249M
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at prepare.NewClass.main(NewClass.java:32)
Java Result: 1
成功生成(總時(shí)間:15 秒)
總結(jié):runtime.totalMemory() 獲取Heap大小,runtime.freeMemory() 剩余Heap大小。
posted on 2009-05-20 21:59 advincenting 閱讀(1599) 評(píng)論(1) 編輯 收藏