2011-04-27 35 views

回答

1

您可以使用-ms-mx選項設置最小和最大堆大小。您也可以使用較舊的-Xms-Xmx選項。

你是什麼意思手動檢查它?您可以使用jconsole查看堆大小。

+0

據我所知-Xms和-Xmx不是舊的命令行選項,因爲它們已經存在,因爲它們是關於java 5.是否Java和-mx是Java 7的新版本(尚未發佈)? – Liv 2011-04-27 12:22:51

+0

感謝您的回覆。我的意思是我不想用cmd設置大小。有沒有直接的選擇,我可以設置堆大小以及查看它? – DMS 2011-04-27 12:47:03

0

只需添加以下開關

-Xms -Xmx

-Xmx爲最大堆尺寸,和-Xms爲初始堆大小。

爲了得到堆大小

Runtime.getRuntime().totalMemory(); 
0

java -X在命令行中顯示的,你可以用它來微調JVM參數列表。最值得注意的是,當涉及到堆-Xms-Xmx,它允許您設置初始堆大小和最大堆大小。 您可以在任何時候使用Runtime.getRuntime().freeMemory()進行檢查 - 但是值得注意的是,如果您啓動了JVM,比如說100MB(堆啓動)和1GB堆最大值,那麼您的可用內存最初可能爲100MB(如果堆中沒有內容),然後增長爲堆擴展到1Gb。但是,如果您將初始大小和最大大小設置爲相同,那麼freeMemory()將始終反映堆中剩餘的確切可用內存,因爲堆永遠不會展開。