Tomcat不工作

时间:2013-11-26 13:41:15

标签: java apache tomcat

最初,我运行tomcatStart.bat文件,它允许我在浏览器中打开我的J2EE项目,但它不允许我登录。它返回500错误,内存错误。

现在,它自己的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)*

如果有人有解决方案,请告诉我

2 个答案:

答案 0 :(得分: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。请确保仅在该位置设置上述参数。

答案 1 :(得分:0)

通常OutOfMemoryError在堆中没有更多可用内存时发生。您可以使用-Xmx选项更改JVM为堆分配的最大值。如果您使用的是tomcat,则应将JAVA_OPTS设置如下:

export JAVA_OPTS="-server -Xmx1024m" - 适用于Unix

set JAVA_OPTS=-server -Xmx1024m - 适用于Windows

首先尝试这个。然后再次启动tomcat。如果id无助于检查您的应用程序。是什么导致额外的内存消耗?是一个繁重的应用逻辑?这可能是一个错误吗?这取决于您的应用程序。

如果您在发现期间出现这些问题,欢迎您提出更具体的问题。祝你好运。