热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

tomcat启动出现异常:java.lang.OutOfMemoryError:Javaheapspace异常解决方法

参考:https:blog.csdn.netqq_43842093articledetails121048515tomcat启动出现异常:java.lang.OutOfMe

  参考:https://blog.csdn.net/qq_43842093/article/details/121048515

  tomcat启动出现异常:java.lang.OutOfMemoryError: Java heap space 

  常见的有以下几种:

  1、内存中加载的数据量过于庞大,如一次从数据库取出过多数据;

  2、集合类中有对对象的引用,使用完后未清空,使得JVM不能回收;

  3、代码中存在死循环或循环产生过多重复的对象实体;

  4、使用的第三方软件中的BUG;

  5、启动参数内存值设定的过小;

  常见错误提示:

  1、tomcat:java.lang.OutOfMemoryError: PermGen space

  2、tomcat:java.lang.OutOfMemoryError: Java heap space

  3、tomcat:java.lang.OutOfMemoryError: unable to create new native thread

  4、weblogic:Root cause of ServletException java.lang.OutOfMemoryError

  5、resin:java.lang.OutOfMemoryError

  6、java:java.lang.OutOfMemoryError

  方法一、用dos窗口启动tomcat

    catalina.bat配置文件的第一行加入:set JAVA_OPTS=-server -XX:PermSize=256M -XX:MaxPermSize=512m

    或者:set JAVA_OPTS= -Xms1024M -Xmx1024M -XX:PermSize=256M -XX:MaxNewSize=256M -XX:MaxPermSize=256M

    

 

  方法二、环境变量中设置

      变量名:JAVA_OPTS

      变量值:-Xms512M -Xmx2048M -XX:PermSize=512M -XX:MaxPermSize=2048M -XX:ReservedCodeCacheSize=512m

      

 

   前两种方法针对的是bin目录下有catalina.bat的情况(比如直接解压的Tomcat等)并且通过startup.bat/startup.sh启动才生效,
   但是有些安装版的Tomcat下没有catalina.bat,这个时候可以采用如下方法,当然这个方法也是最通用的方法:

 

  方法三、Tomcat 配置成Windows服务 

      比如服务名为  tomcat

      

 

      通过D:\apache-tomcat-8.5.68\bin\tomcat8w.exe,配置内存大小

      把tomcat8w.exe 改为 tomcat.exe, 双击 tomcat.exe

      

    重新启动服务

    

  方法四。直接修改service.bat文件,编辑打开service.bat,找到如下:

    

 

  都改成 512或1024 后 ,要根据自己机器的实际内存进行修改,不能太大

  

 

 

  然后把 Tomcat 配置成Windows服务 

 

 

 

    

 



推荐阅读
author-avatar
书友53034809
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有