Java SE之調整JVM內存筆記
[文檔整理系列] Java SE之調整JVM內存筆記
一般JVM內存限制是64Mbyte
Eclipse下 Run as configration
Arguments選項:-Xmx80m 【設置虛擬機JVM最大開辟內存為80Mbyte】
===================================================
一. 設置JVM內存的參數有四個:
-Xmx Java Heap最大值,默認值為物理內存的1/4,最佳設值應該視物理內存大小及計算機內其他內存開銷而定;
-Xms Java Heap初始值,Server端JVM最好將-Xms和-Xmx設為相同值,開發測試機JVM可以保留默認值;
-Xmn Java Heap Young區大小,不熟悉最好保留默認值;
-Xss 每個線程的Stack大小,不熟悉最好保留默認值;
二、查看設置JVM內存信息
官方文檔:http://docs.sun.com/source/819-0084/pt_tuningjava.html
Runtime.getRuntime().maxMemory(); //最大可用內存,對應-Xmx
Runtime.getRuntime().freeMemory(); //當前JVM空閑內存
Runtime.getRuntime().totalMemory(); //當前JVM占用的內存總數,其值相當於當前JVM已使用的內存及freeMemory()的總和
關於maxMemory(),freeMemory()和totalMemory():
maxMemory()為JVM的最大可用內存,可通過-Xmx設置,默認值為物理內存的1/4,設值不能高於計算機物理內存;
totalMemory()為當前JVM占用的內存總數,其值相當於當前JVM已使用的內存及freeMemory()的總和,會隨著JVM使用內存的增加而增加;
freeMemory()為當前JVM空閑內存,因為JVM只有在需要內存時才占用物理內存使用,所以freeMemory()的值一般情況下都很小,而 JVM實際可用內存並不等於freeMemory(),而應該等於maxMemory()-totalMemory()+freeMemory()。及其 設置JVM內存分配。
Java SE之調整JVM內存筆記