`
wbj0110
  • 浏览: 1639559 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

TOMCAT报Caused by: java.lang.OutOfMemoryError: Java heap space错误解决方法

阅读更多

在进行大数据量操作的时候,经常会出现内存溢出的错误,如图:



 

处理方法是设置TOMCAT的内存大小,如图

 

 

sts



 

Tomcat是目前应用十分广泛的一个Java servlet container与web服务器,但java.lang.OutOfMemoryError与java.lang.OutOfMemoryError: PermGen space的异常相信真正用过tomcat的人都遇到过(用户量大,应用使用频繁等),这个异常和JVM默认划分的内存上限是128M有关,如果你的业务足够繁忙,128M是远远不够的,所以你可以给JVM分配上1G甚至更多,这样就可以避免内存溢出。
     分配方法:
1)linux下
     编辑tomcat的catalina.sh文件,在第一行的后面增加一句:
JAVA_OPTS='-server -Xms256m -Xmx512m -XX:PermSize=128M -XX:MaxPermSize=256M'
注意:单引号不能少,-server表示以server模式运行(运行效率比默认的client高很多,自己云去测试),-Xms256m是最小内存,-Xmx512m是最大内存,其中的256与512可根据你自己的内存做相应调整,PermSize/MaxPermSize最小/最大堆大小.一般报内存不足时,都是说这个太小,堆空间剩余小于5%就会警告,建议把这个稍微设大一点,不过要视自己机器内存大小来设置,我自己的文件如下:
#!/bin/sh
JAVA_OPTS='-server -Xms1024m -Xmx1024m XX:PermSize=128M -XX:MaxPermSize=256M'
# ----------------------------- 
2)windows下

     编辑tomcat的catalina.bat文件,在第一行的后面增加一句:
set JAVA_OPTS=-server -Xms256m -Xmx512m -XX:PermSize=128M -XX:MaxPermSize=256M
注意:没有单引号

2.1)如果windows下tomcat被作为一种服务安装了,可通过tomcat monitor的java页进行配置,如下图:


注:Java Options中每一行的最后不能有空格。
上面配置的catalina.bat中-server选项对应:Java Virtual Matchine
D:\Java\jdk1.6.0_03\jre\bin\server\jvm.dll

这里的jvm.dll不是jre\bin\client\jvm.dll而是\jre\bin\server\jvm.dll(要安装JDK不是JRE)
如果你不想提高tomcat的执行效率,你可以按默认的配置

 
 
  • 大小: 86.2 KB
  • 大小: 89.4 KB
分享到:
评论

相关推荐

    java解决nested exception is java.lang.OutOfMemoryError Java heap space

    Java程序在运行过程中可能会遇到各种异常,其中"nested exception is java.lang.OutOfMemoryError: Java heap space"是一个常见的问题,通常发生在程序试图分配超过堆内存限制的空间时。这个错误表明Java虚拟机(JVM...

    完美解决java.lang.OutOfMemoryError处理错误的问题

    Java中的`java.lang.OutOfMemoryError`是一种常见的运行时错误,通常表示应用程序在尝试分配新的内存对象时,Java虚拟机(JVM)无法找到足够的连续内存空间来完成操作。这个错误可能由多种原因引起,主要分为堆内存...

    关于java堆内存溢出的几种情况

    【情况一】:`java.lang.OutOfMemoryError: Java heap space` 这是由于Java堆内存不足造成的。可能的原因有两个:一是实际分配的堆内存确实不够程序运行,二是程序中存在内存泄漏或无限制的死循环导致持续消耗内存。...

    java head space.txt

    以下的问题是由于java的堆内存已满,需要java运行时加大java的堆内存空间 ... nested exception is java.lang.OutOfMemoryError: Java heap space ...Caused by: java.lang.OutOfMemoryError: Java heap space

Global site tag (gtag.js) - Google Analytics