热门标签 | 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服务 

 

 

 

    

 



推荐阅读
  • 深入理解Cookie与Session会话管理
    本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 探讨如何真正掌握Java EE,包括所需技能、工具和实践经验。资深软件教学总监李刚分享了对毕业生简历中常见问题的看法,并提供了详尽的标准。 ... [详细]
  • 本文详细介绍了如何准备和安装 Eclipse 开发环境及其相关插件,包括 JDK、Tomcat、Struts 等组件的安装步骤及配置方法。 ... [详细]
  • 简化报表生成:EasyReport工具的全面解析
    本文详细介绍了EasyReport,一个易于使用的开源Web报表工具。该工具支持Hadoop、HBase及多种关系型数据库,能够将SQL查询结果转换为HTML表格,并提供Excel导出、图表显示和表头冻结等功能。 ... [详细]
  • 深入解析Java虚拟机(JVM)架构与原理
    本文旨在为读者提供对Java虚拟机(JVM)的全面理解,涵盖其主要组成部分、工作原理及其在不同平台上的实现。通过详细探讨JVM的结构和内部机制,帮助开发者更好地掌握Java编程的核心技术。 ... [详细]
  • docker镜像重启_docker怎么启动镜像dock ... [详细]
  • 本文将详细介绍通过CAS(Central Authentication Service)实现单点登录的原理和步骤。CAS由耶鲁大学开发,旨在为多应用系统提供统一的身份认证服务。文中不仅涵盖了CAS的基本架构,还提供了具体的配置实例,帮助读者更好地理解和应用这一技术。 ... [详细]
  • 深入解析JVM垃圾收集器
    本文基于《深入理解Java虚拟机:JVM高级特性与最佳实践》第二版,详细探讨了JVM中不同类型的垃圾收集器及其工作原理。通过介绍各种垃圾收集器的特性和应用场景,帮助读者更好地理解和优化JVM内存管理。 ... [详细]
  • Java 中的 BigDecimal pow()方法,示例 ... [详细]
  • 深入理解Java中的volatile、内存屏障与CPU指令
    本文详细探讨了Java中volatile关键字的作用机制,以及其与内存屏障和CPU指令之间的关系。通过具体示例和专业解析,帮助读者更好地理解多线程编程中的同步问题。 ... [详细]
  • 探讨一个显示数字的故障计算器,它支持两种操作:将当前数字乘以2或减去1。本文将详细介绍如何用最少的操作次数将初始值X转换为目标值Y。 ... [详细]
  • 在当前众多持久层框架中,MyBatis(前身为iBatis)凭借其轻量级、易用性和对SQL的直接支持,成为许多开发者的首选。本文将详细探讨MyBatis的核心概念、设计理念及其优势。 ... [详细]
  • 将Web服务部署到Tomcat
    本文介绍了如何在JDeveloper 12c中创建一个Java项目,并将其打包为Web服务,然后部署到Tomcat服务器。内容涵盖从项目创建、编写Web服务代码、配置相关XML文件到最终的本地部署和验证。 ... [详细]
  • 作为一名新手,您可能会在初次尝试使用Eclipse进行Struts开发时遇到一些挑战。本文将为您提供详细的指导和解决方案,帮助您克服常见的配置和操作难题。 ... [详细]
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社区 版权所有