2013-11-26 68 views
-1

最初,我運行了tomcatStart.bat文件,它允許我在瀏覽器中打開我的J2EE項目,但它不允許我登錄。它返回了一個500內存錯誤的錯誤。Tomcat不工作

現在,它自己的tomcat崩潰了,它在命令提示符下給出以下消息。

在這個文件中,最重要的是在中間。即

*RequestFilter: filter-init problem:java.lang.OutOfMemoryError: PermGen space 
java.lang.OutOfMemoryError: PermGen space 
    at java.lang.ClassLoader.defineClass1(Native Method) 
    at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631) 
    at java.lang.ClassLoader.defineClass(ClassLoader.java:615) 
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:14 
1)* 

請讓我知道如果任何人有解決它

回答

0

用記事本打開它是tomcat dir -> bin文件夾catalina.bat中文件並添加以下參數並重新啓動服務器。

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

已經定義了CATALINA_OPTS。確保只在該位置設置了上述參數。

+0

沒有出來 –

+0

它應該工作。我想你錯過了一些東西 –

0

通常OutOfMemoryError在堆中沒有更多可用內存時發生。您可以使用-Xmx選項更改JVM爲堆分配的最大值。如果您使用的是Tomcat,你應該設置JAVA_OPTS如下:

export JAVA_OPTS="-server -Xmx1024m" - 針對Unix

set JAVA_OPTS=-server -Xmx1024m - 適用於Windows

先試試這個。然後再次啓動tomcat。如果id不能幫助檢查你的應用程序。什麼導致額外的內存消耗?是沉重的應用程序邏輯?這可能是一個錯誤?這取決於你的應用程序。

歡迎您在發現過程中出現更多具體問題。祝你好運。

+0

它沒有成功,你分享的聲明就像它在文件中一樣,不知道是什麼問題。無論如何,謝謝你的回覆 –