2009-06-18 44 views
2

我需要增加我的PermGen。目前,我通過下面的命令行參數:當我將PermGen設置爲128M以上時,爲什麼我的Sun JVM無法初始化?

-XX:PermSize=128m -XX:MaxPermSize=128m

這工作。如果我嘗試增加值,但是,我的JVM初始化失敗,給我這個錯誤:

[2009-06-18 01:39:44] [info] Error occurred during initialization of VM [2009-06-18 01:39:44] [info] Could not reserve enough space for object heap [2009-06-18 01:39:44] [info] [2009-06-18 01:39:44] [395 javajni.c] [error] CreateJavaVM Failed

具體來說,我試圖啓動Tomcat的所包含JRE6,但我認爲這不重要。

編輯:我正在運行帶有2GB內存的Win2k3 VM鏡像。我使用監視器的Tomcat應用以下參數啓動JVM:

初始內存池:,最大內存池:

-XX:PermSize=128m -XX:MaxPermSize=128m -XX:+CMSPermGenSweepingEnabled -XX:+CMSClassUnloadingEnabled -XX:+UseConcMarkSweepGC -Dcatalina.home=C:\Program Files\Apache Software Foundation\Tomcat 6.0 -Dcatalina.base=C:\Program Files\Apache Software Foundation\Tomcat 6.0 -Djava.endorsed.dirs=C:\Program Files\Apache Software Foundation\Tomcat 6.0\endorsed -Djava.io.tmpdir=E:\tomcat\temp -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=C:\Program Files\Apache Software Foundation\Tomcat 6.0\conf\logging.properties

+1

什麼是操作系統?機器有多少內存?您爲堆和堆棧大小分配多少(Xmx Xms Xss)? – 2009-06-18 05:55:24

回答

2

Perm Gen是堆疊添加劑,因此請檢查流程 - 您需要有2G以上的2G可用。

+0

我不知道這兩個鏈接,這是我的問題。我已經超出了我的堆大小,所以沒有增加PermGen的空間。當我縮小我的堆大小時,我能夠增加我的PermGen空間。 – rcampbell 2009-11-06 06:16:37

4

嘗試給它更大的堆-Xmx512m(這將給512 MB)

你使用了什麼其他內存參數?你的機器有多少內存?你在32位或64位機器上?

+1

這很有意義,因爲你的128MB perm大小是堆的一部分,所以你也需要增加堆的總大小。 – Thilo 2009-06-18 05:59:57

1

我有2GB的內存,我使用設置運行tomcat -Xmx1024m -XX:PermSize = 512m -XX:MaxPermSize = 512m。這通常運行良好。

相關問題