当tomcat报:java.lang.OutOfMemoryError: Java heap space

问题描述

我要导出一个10W条记录的文件,但是tomcat后台报java.lang.OutOfMemoryError:Javaheapspace异常我用已经用了两种方法不行1./tomcat/bin/catalina.bat加上下面的命令:在remGuessCATALINA_HOMEifnotdefined这句话的下面加setJAVA_OPTS=-Xms32m-Xmx256m2.修改TOMCAT_HOME/bin/catalina.sh在「echo"UsingCATALINA_BASE:$CATALINA_BASE"」上面加入以下行:JAVA_OPTS="-server-Xms800m-Xmx800m-XX:MaxNewSize=256m"哦还有我试了下1W条记录3个字段就可以导出,后改成1W条记录10个字段就异常了。我是通过eclipse启动的TOMCAT,tomcat版本是6.0的

解决方案

本帖最后由 aiqwe 于 2011-01-14 15:40:44 编辑
解决方案二:
该回复于2011-01-14 16:06:40被版主删除
解决方案三:
分批导行不
解决方案四:
分批导出然后合并文件
解决方案五:
哦还有我试了下1W条记录3个字段就可以导出,后改成1W条记录10个字段就异常了。那说明你调整后的内存还是不够大
解决方案六:
eclipse下应该不是从catalina.bat执行的tomcat所以从命令行启动tomcat然后修改/tomcat/bin/catalina.bat加上下面的命令:setJAVA_OPTS=-Xms512m-Xmx512m就没问题了
解决方案七:
不停的扩大内存根本就不是一个从根本上来解决的办法,而且就得是JVM也有最大的内存管理数的。你应该分批来做导出的操作,比如先导5W然后再导另外的5W。你在程序里面控制一下就可以了。
解决方案八:
引用楼主aiqwe的回复:

JAVA_OPTS="-server-Xms800m-Xmx800m-XX:MaxNewSize=256m"

前几天看到文章,说xms和xmx是java程序用的permsize和maxpermsize才是jvm用的既然是javaheapspace异常设置下permsize和maxpermsize这两个参数看看行不。另外-server可以去掉如果不是放到服务器上的tomcat
解决方案九:
我也赞成分批导出,你先导出1000条,再用append模式的writer/outputStream再导出1000条,慢慢来就行了。
解决方案十:
内存溢出了。
解决方案十一:
这个方法只适合纯tomcat不能用eclipse启动使用~
解决方案十二:
有没有能给出一个能eclipse启动的方案~是不是设置eclipse呢?

时间: 2024-10-29 16:48:44

当tomcat报:java.lang.OutOfMemoryError: Java heap space的相关文章

springmvc 实现文件下载 出现异常java.lang.OutOfMemoryError: Java heap space

问题描述 springmvc 实现文件下载 出现异常java.lang.OutOfMemoryError: Java heap space 网上找解决方案,一般都是tomcat中添加-Xms256m -Xms512m等配置,但是不行啊. 我的是MyEclipse里的tomcat. 下载20M(包括)以内的文件没问题,超过就会报异常,有什么解决办法吗? 还有是不是请求下载文件时,服务器会把文件全部装入内存再发过来,还是分成多个部分发送,超过内存大小的文件如何发送呢? ** --异常信息 ** ty

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

java.lang.OutOfMemoryError: Java heap space 解决方法 这个问题的根源是jvm虚拟机的默认Heap大小是64M,可以通过设置其最大和最小值来实现.设置的方法主要是几个. 1.可以在windows 更改系统环境变量加上JAVA_OPTS=-Xms64m -Xmx512m 2,如果用的tomcat,在windows下,可以在 C:/tomcat5.5.9/bin/catalina.bat  中加上: set JAVA_OPTS=-Xms64m -Xmx256

java.lang.OutOfMemoryError: Java heap space java内存溢出问题 有错误信息

问题描述 java.lang.OutOfMemoryError: Java heap space java内存溢出问题 有错误信息 2013-12-26 11:18:09 [ERROR]-[rmss:165] Housekeeping log.error( : java.lang.OutOfMemoryError: Java heap spaceat java.lang.AbstractStringBuilder.(AbstractStringBuilder.java:45)at java.la

Eclipse+Jboss报java.lang.OutOfMemoryError:PermGen space异常的解决办法

Eclipse+Jboss报java.lang.OutOfMemoryError:PermGen space异常的解决办法 在Eclipse的工具栏中找到"小虫子"的调试图标或向右的白色箭头的图片,点击它们其中一个的右侧的向下的黑色箭头,找到 Configurations 选项,然后在右边的选项卡中选择 Arguments 选项卡,在下面的VM arguments 输入框中输入如下一段,其中"D:/develop/jboss-4.0.4.GA"是我的电脑的JOSS的

SSH出现Caused by: java.lang.OutOfMemoryError: Java

问题描述 [Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name '/addUser' defined in class path resource [applicationContext.xml]: Cannot resolve reference to bean 'userDAOProxy' while set

找出导致java.lang.OutOfMemoryError: Java heap space问题的数据

问题描述 引起java.lang.OutOfMemoryError:Javaheapspace异常,可能是由JAVA的堆栈设置太小的原因,在网上查了下都是调整jvm大小的,但这个方法治标不治本呀!!!!,当数据增大是依然会报溢出错误,总不至于再把jvm调大吧.有没有办法找到导致溢出的数据,之前听同事说有办法找到,但是不知道怎么找的,求大神指导 解决方案 解决方案二:upup解决方案三:错误是在tomcat启动的时候报的解决方案四:是不是你程序代码的问题呢?解决方案五:引用3楼rui888的回复:

使用WLST Deploy命令部署错误,提示 Deployment Message : java.lang.OutOfMemoryError: Java

问题描述 CurrentStatusofyourDeployment:Deploymentcommandtype:deployDeploymentState:failedDeploymentMessage:java.lang.OutOfMemoryError:JavaheapspaceTraceback(innermostlast):File"<string>",line1,in?File"<iostream>",line246,indepl

Spark-shell运行命令出现:java.lang.OutOfMemoryError: Java heap space

问题描述 下面是标准输出:请问应该如何解决?14/12/0310:46:53ERRORexecutor.Executor:ExceptionintaskID1java.lang.OutOfMemoryError:Javaheapspaceatjava.io.ObjectInputStream$HandleTable.grow(ObjectInputStream.java:3437)atjava.io.ObjectInputStream$HandleTable.assign(ObjectInput

Java错误:java.lang.OutOfMemoryError: Java heap space

问题描述 我很奇怪,在网上查,都说是内存溢出,但是我是在插入数据,sql也很简单,如下:[02 23:48:45,339 DEBUG] [http-8080-1] sql.PreparedStatement - {pstm-100001} Executing Statement: insert into zdgxb (zdlsbh,xsbh) values (?,?) [02 23:48:45,340 DEBUG] [http-8080-1] sql.PreparedStatement - {p