【问题标题】:java.lang.OutOfMemoryError: Java heap space in tomcat7java.lang.OutOfMemoryError:tomcat7 中的 Java 堆空间
【发布时间】:2014-04-13 02:17:24
【问题描述】:

我在 tomcat 服务器中收到此错误。

Exception in thread "http-bio-8080-exec-17" 
Exception in thread "http-bio-8080-exec-2"
Exception in thread "http-bio-8080-exec-15" 
Exception in thread "http-bio-8080-exec-20"
Exception in thread "http-bio-8080-exec-18" 
java.lang.OutOfMemoryError: Java heap space.

我见过 MAT,但是如何在我的 Tomcat 服务器中生成 .hprof 文件。

谢谢。

【问题讨论】:

    标签: java tomcat7


    【解决方案1】:
    1. 转到 /bin 并为 Linux 系统创建一个名为 setenv.sh 的文件,或为 Windows 创建一个名为 setenv.bat 的文件。

    2. 在 setenv 文件中,使用以下格式通过以下参数设置堆大小:

    -Linux:

    export CATALINA_OPTS="-Xms4096M -Xmx4096M"
     
    

    -Windows:

    set CATALINA_OPTS=-Xms4096M -Xmx4096M
    
    1. 确保最小值和最大值都匹配。
    2. 保存文件并重新启动 Tomcat。

    【讨论】:

      【解决方案2】:

      要删除错误编辑文件

      /etc/default/tomcat7   
      

      替换为:

      JAVA_OPTS="-Djava.awt.headless=true -Xmx1280m -XX:+UseConcMarkSweepGC"
      

      然后重启网络服务器。

      Xmx 是新的最大内存大小,您的机器应该可以承受。

      【讨论】:

      • 编号7(当然)取决于tomcat版本(对我来说是/etc/default/tomcat8)。
      • 这个位置是 Debian 的做法;我还会查看其他答案中的 Xms 选项。
      【解决方案3】:

      根据您的操作系统解决方案:

      如果Ubuntu:

      打开用户主文件夹中可用的 .bashrc 文件(它是隐藏的)并在最后 2-3 行中添加或编辑一行:

      export CATALINA_OPTS="-Xms512m -Xmx1024m"
      

      否则Windows:

      在你的环境变量中添加/编辑

      CATALINA_OPTS = "-Xms512m -Xmx1024m"
      

      【讨论】:

      • 我正在使用 ubuntu。如果我在 .bashrc 文件中写下这一行,它将做什么。请告诉我。无论是增加堆大小还是导出。如果导出如何找到该文件。
      • 我不建议使用 .bashrc。您希望此配置是系统范围的,而不是特定于用户的。最重要的是,一些 Java 实例(例如 tomcat)使用它们的特定用户运行,因此,在这种情况下,此配置不会影响 Java 实例。
      【解决方案4】:

      将此行添加到/path/to/tomcat/bin/setenv.sh(如果不存在则创建它):

      CATALINA_OPTS="$CATALINA_OPTS -server -Xms256m -Xmx1024m"
      

      这会将 tomcat 的堆大小增加到 1024MB。

      【讨论】:

      • 如果是debian 7,通常/usr/share/tomcat7/bin/setenv.sh
      猜你喜欢
      • 2021-09-09
      • 2016-04-17
      • 1970-01-01
      • 2011-10-27
      • 2011-05-03
      • 2011-12-26
      • 2019-02-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多