第一步:cmd

第二步:jvisualvm

第三步:监控下内存

第四步:点击tomcat

如果有上图中显示的内容,说明tomcat增加过内存了。

如果没有加入,请看如下步骤:

找到tomcat的位置,bin目录下的

在文件中编辑:

set JAVA_OPTS=%JAVA_OPTS% -server -Xms2048m -Xmx2048m -XX:PermSize=212M -XX:MaxPermSize=512m

再次查询,就可以了

相关知识点

​ java.lang.OutOfMemoryError: Java heap space 解决方法

java.lang.OutOfMemoryError: Java heap space 问题的解决方法
内存溢出java.lang.OutOfMemoryErrory后面一般会跟上内存溢出的区域PermGen space(方法区), heap space(堆内存)
如果是PermGen space方法区内存溢出,可尝试加大MaxPermSize
如果是heap space 堆内存溢出,可尝试修改Xmx

内存溢出java.lang.OutOfMemoryErrory后面一般会跟上内存溢出的区域 PermGen space(方法区),

heap space(堆内存)

如果是PermGen space方法区内存溢出,可尝试加大MaxPermSize

如果是heap space 堆内存溢出,可尝试修改Xmx

-Xms <size>  设置JVM初始化堆内存大小

-Xmx <size> 设置JVM最大的堆内存大小

-Xms1024M -Xmx1024M

Java常见的几种内存溢出及解决方法

【情况一】

java.lang.OutOfMemoryError:Javaheapspace:

这种是java堆内存不够,一个原因是真不够(如递归的层数太多等),另一个原因是程序中有死循环;
  如果是java堆内存不够的话,可以通过调整JVM下面的配置来解决:
  -Xms3062m
  -Xmx3062m

【情况二】

java.lang.OutOfMemoryError:GCoverheadlimitexceeded

【解释】:JDK6新增错误类型,当GC为释放很小空间占用大量时间时抛出;一般是因为堆太小,导致异常的原因,没有足够的内存。

1、查看系统是否有使用大内存的代码或死循环;

2、通过添加JVM配置,来限制使用内存:

-XX:-UseGCOverheadLimit

【情况三】:

java.lang.OutOfMemoryError:PermGenspace:这种是P区内存不够,可通过调整JVM的配置:

  -XX:MaxPermSize=128m

  -XXermSize=128m

JVM的Perm区主要用于存放Class和Meta信息的,Class在被Loader时就会被放到PermGenspace,这个区域成为年老代,GC在主程序运行期间不会对年老区进行清理,默认是64M大小,当程序需要加载的对象比较多时,超过64M就会报这部分内存溢出了,需要加大内存分配,一般128m足够。

【情况四】:

java.lang.OutOfMemoryError:Directbuffermemory

调整-XX:MaxDirectMemorySize=参数,如添加JVM配置:

-XX:MaxDirectMemorySize=128m

【情况五】:

java.lang.OutOfMemoryError:unabletocreatenewnativethread

【原因】:Stack空间不足以创建额外的线程,要么是创建的线程过多,要么是Stack空间确实小了。

【解决】:由于JVM没有提供参数设置总的stack空间大小,但可以设置单个线程栈的大小;而系统的用户空间一共是3G,除了Text/Data/BSS/MemoryMapping几个段之外,Heap和Stack空间的总量有限,是此消彼长的。因此遇到这个错误,可以通过两个途径解决:1.通过-Xss启动参数减少单个线程栈大小,这样便能开更多线程(当然不能太小,太小会出现StackOverflowError);2.通过-Xms-Xmx两参数减少Heap大小,将内存让给Stack(前提是保证Heap空间够用)。

【情况六】:

java.lang.StackOverflowError

【原因】:这也内存溢出错误的一种,即线程栈的溢出,要么是方法调用层次过多(比如存在无限递归调用),要么是线程栈太小。

【解决】:优化程序设计,减少方法调用层次;调整-Xss参数增加线程栈大小。

在Tomcat中增加内存相关推荐

  1. Tomcat中JVM内存溢出及合理配置(转:http://blog.csdn.net/ye1992/article/details/9344807)

    Tomcat本身不能直接在计算机上运行,需要依赖于硬件基础之上的操作系统和一个Java虚拟机.Tomcat的内存溢出本质就是JVM内存溢出,所以在本文开始时,应该先对Java JVM有关内存方面的知识 ...

  2. tomcat中 JVM 内存溢出及合理配置

    Tomcat本身不能直接在计算机上运行,需要依赖于硬件基础之上的操作系统和一个Java虚拟机.Tomcat的内存溢出本质就是JVM内存溢出,所以在本文开始时,应该先对Java JVM有关内存方面的知识 ...

  3. python 会增加内存吗,在Python中增加内存限制?

    Python有momoryerror,这是系统RAM util的限制,您已经用resource包手动定义了它. 用slots定义类使python解释器知道类的属性/成员是固定的.而且可以大大节省内存! ...

  4. 从JVM的常见异常来看Tomcat中内存的设置

    一.Tomcat和JDK的关系: 1. Tomcat本身不能直接在计算机上运行,需要依赖于硬件基础之上的操作系统和一个java 虚拟机. 2. JAVA程序启动时JVM都会分配一个初始内存和最大内存给 ...

  5. tomcat增加内存

    第一步:打开tomcat的catalina.bat文件,在开头处,增加: SET CATALINA_OPTS= -Xms2048m -Xmx4096m -XX:MaxNewSize=512m -XX: ...

  6. tomcat中conf/server.xml配置线程池不生效的问题注意添加线程池节点executor后要在connector中增加executor属性

    优化连接数,主要是在conf/server.xml配置文件中进行修改. 优化线程数 找到Connector port="8080" protocol="HTTP/1.1& ...

  7. 如何在Mac上的IntelliJ IDEA中增加IDE内存限制?

    本文翻译自:How to increase IDE memory limit in IntelliJ IDEA on Mac? I'm using IDEA 12 Leda on Mountain L ...

  8. [译]提案:在Go语言中增加对持久化内存的支持

    作者:Jerrin Shaji George.Mohit Verma.Rajesh Venkatasubramanian.Pratap Subrahmanyam Jerrin Shaji George ...

  9. delphi中增加FastMM4有效管理你的内存使用

    sourceforge项目下载地址:http://sourceforge.net/projects/fastmm/ 使用方式: 下载之后将FastMM\Replacement BorlndMM DLL ...

最新文章

  1. 数据结构三元组实验报告_数据结构实验报告
  2. C# DataTable转ListModel通用类
  3. MySQL数据类型-decimal详解
  4. 测试硬盘读写速度软件_Linux 测试 IO 性能(磁盘读写速度)
  5. android工程引入unity,Unity导出Android Studio工程
  6. WSS页面定制系列(1)--如何启用表单页面的编辑模式
  7. Java实训项目:GUI学生信息管理系统(2019)【上】
  8. 腾讯视频怎么获得html代码,如何获取腾讯视频等九大视频网站的视频分享代码...
  9. 关于伪分布式hadoop集群及HBase安装的一些记录(基于林子雨老师的大数据软件安装和基础编程)
  10. PS_cs5快捷键大
  11. 写于即将23岁的前端转正前夕
  12. TypeScript配置、tsconfig.json配置文件,TypeScript使用详解
  13. 苹果6s为什么连接不上服务器未响应,iPhone6s/6s plus连接iTunes没反应怎么办?苹果手机无法连接iTunes的解决方法...
  14. 夏天来了,西瓜配橙汁,来点小清新风格
  15. 简单优雅的搭建个人博客
  16. 淘宝放大镜插件(vue-piczoom)
  17. Windows10 下同一局域网两台电脑互传文件及其取消
  18. XAMPP简介、安转、使用
  19. Tik Tok直播:如何做好TikTok直播?
  20. 电脑开机在一会儿未使用卡死解决方法

热门文章

  1. 【ZZULIOJ】1073: 再谈鸡兔同笼问题
  2. C++ vector 初始化二维数组
  3. 关于iOS 国际化(类似微信切换语言)
  4. diff.js使用指南
  5. Oracle数据库第四课——PL/SQL中的条件控制
  6. linux bogon,linux bogon
  7. mysql lint的范围_JSLint简介
  8. 计算机考证一级pets
  9. IAR工程编译报错Warning[Pe223]: function “Get_Tempreture“ declared implicitly......
  10. LeetCode c++-Merge Sorted Array