2013-06-21 91 views
-1

我使用的系統有Windows Server 2003 x86 with 1.66Gb RAM不能在JVM中增加大於128m的堆大小

我有一個啓動JAVA VM i.e loading the jvm.dll的VB應用程序。 我想增加我的應用程序使用的最大堆大小。我讀過各種文章&,得知我們需要使用參數-Xmx<size>和JVM來增加最大堆大小。最初最大堆大小爲64 MB,使用上述參數我能夠增加堆大小upto 128m。但是,當我使用256米或更大的尺寸jvm.dll未加載。誰能告訴我解決方案?我正在使用的JRe是1.5.0_22

+0

只是說'堆大小無效..'? – devnull

+0

錯誤信息是什麼? – amicngh

+0

沒有顯示任何錯誤消息。它只是不加載jvm.dll – Sanjay

回答

0

在大多數Sun的32位JVM中,Java中堆空間的默認大小爲128MB,但從JVM到JVM的差異很大。

您可以根據應用程序的需要增加Java堆空間的大小。如果您的應用程序很大並且創建了大量對象,則可以使用JVM選項-Xms-Xmx更改堆空間大小。 Xms表示堆的開始大小,而-Xmx表示堆的最大大小。還有另一個參數-Xmn,它表示新一代堆空間的大小。 唯一的問題是,您無法動態更改Java中的堆大小 - 只能在啓動JVM時爲Java提供堆大小參數。

以下三個JVM選項,用於在運行Java程序指定初始和最大堆大小和線程堆棧大小:

  • -Xms設置初始Java堆大小
  • -Xmx設置最大Java堆大小
  • -Xss設置java線程堆棧大小
+0

我已經嘗試過-Xmx選項來增加堆但它不會加載jvm.dll whean我增加堆大小> 128m – Sanjay

+0

有時,如果使用javaw.exe而不是jvm.dll,那麼使用更高的Xmx設置運行會更容易,因爲這兩個入口點之間的內存管理不同。要嘗試此操作,請找到32位JVM的javaw.exe的路徑,並通過-vm開關指定它 – Ankur