来自UncaughtExceptionHandler的Tomcat 7 OutOfMemoryError

时间:2013-11-04 14:18:23

标签: tomcat tomcat7 out-of-memory

好的,所以我最近搬到了一台全新安装Win7 Pro的新电脑

我从旧PC中复制了所有旧文件和文件夹

我将Tomcat 7文件复制到新PC

但是现在当我尝试启动它时,我得到了这个错误

Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "http-bio-8080-exec-2"

我无处寻找解决这个问题的方法,发现了数百个不同的解决方案,但没有人帮助我

任何可能导致此错误的想法? (我正在使用从旧PC复制的完全相同的tomcat文件,以及仍在旧PC上运行的完全相同的项目)

注意:

我设置的环境变量与旧计算机上的完全相同。

我正在使用我以前在PC上使用的完全相同的webapp(所以它不能用于内存泄漏或项目出错)

6 个答案:

答案 0 :(得分:8)

我收到了相同的错误消息,尽管从Web上的其他来源可能会由于堆空间不足而导致错误消息,而不仅仅是由于耗尽了permgen空间。

我需要从命令行修复此问题,而不是使用图形界面。为此,我在<tomcat install directory>/bin/setenv.sh添加了一个新文件,内容为:

CATALINA_OPTS="-Xms4096M -Xmx4096M -XX:PermSize=512M -XX:MaxPermSize=512M"

如果您有一个现有的setenv.sh文件,请将其添加到该文件中。使用适合您的安装的任何数字 - 我的服务器有96GB内存,所以我可以为Tomcat支付4GB。

正如catalina.sh中所述,您应该将其添加到setenv.sh而不是catalina.sh,以便将此本地修改与基本catalina.sh脚本分开。您应该更改CATALINA_OPTS而不是JAVA_OPTS,以便仅为实际的Tomcat服务器需要更大的内存量;更改JAVA_OPTS也需要关闭进程的内存,如果系统内存不足,可能会干扰服务器的关闭。

答案 1 :(得分:4)

我终于找到了答案:

转到tomcat bin文件夹

以管理员身份运行“tomcat7w.exe”

将此添加到Java选项卡中的java选项

-Xms3072M
-Xmx6144M
-XX:PermSize=512m
-XX:MaxPermSize=1024m

有关详情,请查看此链接

http://community.jaspersoft.com/wiki/configuring-tomcats-java-heap-size

答案 2 :(得分:1)

我通过在windows 7 tomcat 7中的catalina.bat中添加以下行来解决同样的问题。

set JAVA_OPTS =" -XX:PermSize=512m -XX:MaxPermSize=1024m" 

我有4 GB RAM。

答案 3 :(得分:0)

您可以将它们分配到位于JAVA_OPTS(tomcatPath / bin)内的catalina.sh变量中:

JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8 
-server -Xms1536m -Xmx1536m
-XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m 
-XX:MaxPermSize=256m -XX:+DisableExplicitGC"

另一种可能性是可能存在内存泄漏。您可以在此处查看troubleshooting memory leaks

答案 4 :(得分:0)

经过多次搜索后,我找到了这个解决方案。它运作正常。

设置JAVA_OPTS =%JAVA_OPTS%“并在”setenv“批处理文件中设置”设置JAVA_OPTS = -Dfile.encoding = UTF-8 -Xms128m -Xmx1024m -XX:PermSize = 64m -XX:MaxPermSize = 256m“以下路径

\ JasperReports的服务器-CP-5.6.0 \ Apache的Tomcat的\ bin中

答案 5 :(得分:0)

我能够使用这里的建议调试我在运行Eclipse插件单元测试时Travis CI运行内存不足的问题。我必须设置MaxPermSize,我通过将以下内容添加到我的java ant任务中来完成:

<jvmarg line="-Xms40m -Xmx1024m -XX:MaxPermSize=512m"/>