2014-01-14 31 views
1

我遇到了一些Tomcat問題。我部署Grails應用程序,當我是在加入新的功能我在堆棧跟蹤文件這(可悲的是衆所周知的)錯誤:增加基於Windows安裝程序的Tomcat PermGen空間

Caused by: java.lang.OutOfMemoryError: PermGen space 
2014-01-13 19:28:35,753 [http-bio-8080-exec-26] ERROR StackTrace - Full Stack Trace: 
org.codehaus.groovy.runtime.InvokerInvocationException: java.lang.OutOfMemoryError: PermGen space 
    at gsp_liquidaciones_liquidacionDeComplejolist_gsp$_run_closure2.doCall(gsp_liquidaciones_liquidacionDeComplejolist_gsp.groovy:84) 
    at gsp_liquidaciones_liquidacionDeComplejolist_gsp.run(gsp_liquidaciones_liquidacionDeComplejolist_gsp.groovy:105) 
    at grails.plugin.cache.web.filter.PageFragmentCachingFilter.doFilter(PageFragmentCachingFilter.java:195) 
    at grails.plugin.cache.web.filter.AbstractFilter.doFilter(AbstractFilter.java:63) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 
... 

我有一個基於Windows Installer的tomcat安裝和我沒有一個catalina.bat文件也。谷歌搜索多頁建議修改此文件(catalina.bat)或註冊JAVA_OPTS變量,但沒有任何工作。所以,在這裏我必須指定這個參數?:

SET JAVA_OPTS="-Dfile.encoding=UTF-8 -server -Xms512m -Xmx1024m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=256m -XX:+DisableExplicitGC」

我曾嘗試過的Apache Tomcat 7屬性窗口,但服務器無法啓動修改後修改Java選項。

tomcat java configuration tab

我的電腦安裝了4GB內存。

在此先感謝。

回答

8

對於以下系統規格:

  • 視窗7 64位
  • 4 GB RAM安裝
  • Intel Core i7處理器
  • 的Java(TM)SE運行時環境(建立1.6.0_25 -b06)

可接受行爲的Tomcat 7 Java屬性可能是: tomcat java configuration

2

當tomcat作爲Windows服務安裝時,您應該有一個小型Windows應用程序'tomcat6w.exe'或'tomcat7w.exe'。當你啓動這個應用程序時,它有一個選項卡'Java',你可以在其中設置JVM參數。欲瞭解更多詳情,請參閱more memory to Tomcat service

您只需要輸入以-X開頭的參數。

+0

這就是我試圖做(我編輯我的職務),但更改後的服務器無法啓動。 –

+0

參數列表中可能有錯誤。你檢查了服務器的日誌嗎?在日誌選項卡中將級別設置爲調試以獲取更多信息。 – Spindizzy

+0

這是tomcat7-stderr.2014-01-14文件中的最後一行日誌: '2014-01-14 19:48:29 Commons Daemon procrun stderr已初始化 無法創建Java虛擬機.' This是tomcat7-stdout中的最後一行日誌。2014年1月14日的文件: '2014年1月14日19時48分29秒共享守護procrun標準輸出初始化VM 的初始化過程中出現 誤差對象heap'無法保留足夠的空間 你覺得值,我在Java選項卡中指定的根據我的pc RAM是否合適? –

2

這個工作對我來說apache-tomcat-8.0.15,但是我認爲它對於所有的tomcat版本都是一樣的。

我已經執行註冊表編輯器,發現這條道路:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tomcat8 

而變化的ImagePath關鍵:

C:\apache-tomcat-8.0.15\bin\tomcat8.exe //RS//Tomcat8 ++JvmOptions -XX:PermSize=128m -XX:MaxPermSize=512m