最初,我运行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)*
如果有人有解决方案,请告诉我
答案 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无助于检查您的应用程序。是什么导致额外的内存消耗?是一个繁重的应用逻辑?这可能是一个错误吗?这取决于您的应用程序。
如果您在发现期间出现这些问题,欢迎您提出更具体的问题。祝你好运。