通過JVM -Xmx參數,可以將JVM的最大堆大小設置爲某個值。但是,有沒有辦法讓價值動態?換句話說,我想告訴JVM「看,如果你需要的話,只要不停地從系統中取內存,直到系統不存在爲止。」JVM最大堆大小可以動態變化嗎?
問題的兩部分原因: 首先,有問題的應用程序可以使用非常廣泛的RAM,具體取決於用戶在做什麼,所以概念最小值和最大值相差甚遠。其次,在啓動時,JVM似乎從虛擬內存中保留了最大堆空間。這個特殊的應用程序運行在各種各樣的硬件上,因此選擇「一刀切」的最大堆空間是很困難的,因爲它必須足夠低才能在低端硬件上運行,但我們真的喜歡能夠充分利用真正健壯的機器。
可能的重複:http://stackoverflow.com/questions/763295/setting-jvm-heap-size-at-runtime – 2010-08-12 22:51:42
和相關:http://stackoverflow.com/questions/2073869/how-to-以編程方式增加java-heap-size- – 2010-08-12 22:52:20
與這些問題的區別在於意圖;我不想自己做任何事情,我只是希望JVM能夠爲我做出奇蹟般的事情。 :) – 2010-08-12 22:54:16