首页 > 系统相关 >Tomcat运行时报内存溢出

Tomcat运行时报内存溢出

时间:2023-06-08 16:32:37浏览次数:27  
标签:MaxPermSize Tomcat 内存大小 Xmx2048M XX 内存 溢出


Tomcat运行时报内存溢出


问题:


  当tomcat中布署的项目过多时,在运行时会造成内存溢出,从而导致程序被卡死,无法运行。



解决方案:



  在tomcat/bin中找到catalina.bat文件,在里面找到echo Using CATALINA_BASE:   "%CATALINA_BASE%",



在其上面添加一句:



set JAVA_OPTS= -Xms1024M -Xmx2048M -XX:PermSize=1024M -XX:MaxNewSize=256M -XX:MaxPermSize=2048M


  即可解决。





参数含义:





-Xms1024M:初始化堆内存大小(注意,不加M的话单位是KB)





-Xmx2048M:最大堆内存大小





-XX:PermSize=1024M:初始化类加载内存池大小





-XX:MaxNewSize=256M:内存不足时,每次扩充的内存





-XX:MaxPermSize=2048M:最大类加载内存池大小 

标签:MaxPermSize,Tomcat,内存大小,Xmx2048M,XX,内存,溢出
From: https://blog.51cto.com/u_16152230/6441290

相关文章

  • 侯捷老师-内存管理和内存分配器
    目录链接:https://www.youtube.com/watch?v=uQ3wKWGmtk0&list=PLRTJhCIMo8HPlzVfZ8uxs6SGSSAtKXQ6Q所有的内存分配最终都会调用mallocglibc就是直接用的DLMalloc调用层次:c++程序员=>标准库容器std::allocator=>标准c++的operatornew()=>CRT的malloc和free=>操作......
  • 系统性能之内存篇(二)
    利用缓存来提升程序的运行效率,即命中率越高,表示使用缓存带来的收益越高,应用程序的性能也就越好。所谓缓存命中率,是指直接通过缓存获取数据的请求次数,占所有数据请求次数的百分比。如何查询缓存命中情况呢?介绍两个工具;cachestat提供了整个操作系统缓存的读写命中情况。cachetop......
  • 五、Redis内存消耗
    从性能上来说,内存占用过高会引起Reids响应变慢从高可用上来说,内存过大可能会会引起部分数据丢失,故障恢复变慢Redis内存消耗主要在于其主进程消耗和子进程消耗。而主进程消耗又主要包括自身内存、对象内存、缓冲区内存、内存碎片五个方面1、自身内存指Redis进程自身所占用的内......
  • 在intelj idea中Debug启动tomcat时Address already in use:JVM_Bind
    在debug重启web应用时,偶尔会报如下错误:Addressalreadyinuse:JVM_Bind,一看端口占用 打开任务管理器,发现并没有java相关的进程。所以无法通过杀死进程来解除接口占用,可以通过如下方式解决1.编辑服务器配置,EditConfiguration 2.点击Startup/Connection 3.选中debug,......
  • Unity 3D 的NEW (堆内存)
    用容器装在AWEKENEW运行时NEW会导致分配内存时界面卡住new才刷新程序帧AWEKE是程序启动时还没走完第一帧的开头执行AWEKE里面的代码常量也在Aweke初始化赋值                                  ......
  • Docker(五):部署Tomcat
    1.查找tomcatdockersearchtomcat[root@VM-8-4-centos~]#dockersearchtomcatNAMEDESCRIPTIONSTARSOFFICIALAUTOMATEDtomcatApacheTomcatisanopen......
  • 通过读取字节内容分析对象在内存中的布局
    在《如何计算一个实例占用多少内存?》中我们知道一个值类型或者引用类型的实例在内存中占多少字节。如果我们知道这段连续的字节序列的初始地址,我们就能够将代表该实例的字节内容读取出来。在接下来的内容中,我们将利用一个简单的方法输出指定实例的字节序列,并此次分析值类型和引用......
  • JVM内存结构&Java内存模型&Java对象模型
    1.JVM内存结构Java代码是运行在虚拟机上的,而虚拟机在执行Java程序的过程中会把管理的内存划分为若干个不同的数据区域。其中有些区域是随着虚拟机进程的启动而存在,而有些区域则依赖用户线程的启动和结束而建立和销毁。而这些区域会被划分为五个区域,具体的如下:方法区:方法区与是......
  • 【Azure 应用服务】App Service 默认页面暴露Tomcat版本信息,存在安全风险
    问题描述在创建AzureAppService时,服务端的配置使用Java8+Tomcat8.5。默认的根目录页面显示出AppServiceTomcat版本信息,存在一定的安全隐患。如何来避免这个问题呢? 问题解答因为在初始创建AppService时,Azure会根据所选Stack,WebServer的信息默认生成首页内容。大多是情况......
  • 第3天学习Docker-Docker部署常见应用(MySQL、Tomcat、Nginx、Redis、Centos)
    前提须知:(1)搜索镜像命令格式:dockersearch镜像名(2)设置Docker镜像加速器详见文章:Docker设置ustc的镜像源(镜像加速器)1、部署MySQL拉取镜像(这里拉取mysql5.7版本)[root@localhost~]#dockerpullmysql:5.7创建容器(默认运行)[root@localhost~]#dockerrun-di--name=my_mysql-p330......