问题出现在进行zip包导出时,案件量大一些的时候就会出现 java.lang.OutOfMemoryError: Java heap space的错误

网上看了一些资料才发现在JVM中如果98%的时间是用于GC(Garbage collection :垃圾回收机制)且可用的 Heap size 不足2%的时候将抛出此异常信息。

JVM堆的设置是指java程序运行过程中JVM可以调配使用的内存空间的设置.

JVM在启动的时候会自动设置Heap size的值,其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)是物理内存的1/4。可以利用JVM提供的-Xmn -Xms -Xmx等选项可进行设置。
例如:java -jar -Xmn16m -Xms64m -Xmx128m MyApp.jar
如果Heap Size设置偏小,除了这些异常信息外,还会发现程序的响应速度变慢了。GC占用了更多的时间,而应用分配到的执行时间较少。
Heap Size 最大不要超过可用物理内存的80%,一般的要将-Xms和-Xmx选项设置为相同,而-Xmn为1/4的-Xmx值。
Heap size的 -Xms -Xmn 设置不要超出物理内存的大小。否则会提示“Error occurred during initialization of VM Could not reserve enough space for object heap”。

遇到TOMCAT出错:java.lang.OutOfMemoryError: Java heap space,于是查了资料,找到了解决方法:
If Java runs out of memory, the following error occurs:
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
Java heap size can be increased as follows:

java -Xms<initial heap size> -Xmx<maximum heap size>

Defaults are:
java -Xms32m -Xmx128m

如果你用win
/tomcat/bin/catalina.bat 加上下面的命令:
set JAVA_OPTS=-Xms32m -Xmx256m

如果你用unix/linux
/tomcat/bin/catalina.sh 加上下面的命令:
JAVA_OPTS="-Xms32m -Xmx256m"

即解决办法:
tomcat_home/bin下catalina.bat(win)或catalina.sh(linux)执行代码前加上:
set JAVA_OPTS=%JAVA_OPTS% -Xms128m -Xmx512m

eclipse java.lang.OutOfMemoryError: Java heap space 解决方案 
eclipse 有启动参数里设置jvm大小,因为eclipse运行时自己也需要jvm,所以eclipse.ini里设置的jvm大小不是具体某个程序运行时所用jvm的大小,这和具体程序运行的jvm大小无关。

那么怎么才能设置某个程序的jvm大小呢(当然控制台运行的话不会存在这个问题,如:java -Xms256m -Xmx1024m classname,这样就可以把当前程序的jvm大小给设定)?

因为eclipse里默认的一个程序的jvm配置为:-Xms8m -Xmx128m,所以我们的处理耗内存比较大时需要手动调整一下,以便不会内存溢出。具体的设置方法为:

选中被运行的类,点击菜单‘Run as ->Open Run Dialog...’,选择(x)=Argument标签页下的vm arguments框里输入 -Xmx512m, 保存运行就ok了

以上是在网上转载的一些资料,针对在tomcat上运行的项目,可以进行以下两种方式进行配置

或者

转载于:https://www.cnblogs.com/latter/p/6396401.html

关于 java.lang.OutOfMemoryError: Java heap space相关推荐

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

    为什么80%的码农都做不了架构师?>>>    以下是从网上找到的关于堆空间溢出的错误解决办法: java.lang.OutOfMemoryError: Java heap spac ...

  2. java.lang.OutOfMemoryError: Java heap space的解决办法

    如果在启动过程中出现内存溢出问题,抛出类似如下异常信息: java.lang.OutOfMemoryError: Java heap space 可以尝试办法: A.修改Tomcat/bin/cata ...

  3. (转)java.lang.OutOfMemoryError: Java heap space错误及处理办法(收集整理、转)

    java.lang.OutOfMemoryError: Java heap space =================================================== 使用Ja ...

  4. Exception in thread main java.lang.OutOfMemoryError: Java heap space

    在做大批量数据测试的时候,服务端初始化出现问题 测试规模,没个站2万点量测数据,整个数据超过20万,初始化过程中对量测数据初始化,按站分别初始化,但是初始化到总数据量10万的时候就会报内存溢出错误. ...

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

    java.lang.OutOfMemoryError: Java heap space解决方法 参考文章: (1)java.lang.OutOfMemoryError: Java heap space ...

  6. eclipse的怪问题。background indexer crash recovery .java.lang.OutOfMemoryError: Java heap space

    2019独角兽企业重金招聘Python工程师标准>>> 好久没用eclipse了,今天居然启动不了.一开始就出现启动不了的那个参数错误. 我就奇了怪了,虽然有个把月没用了,没动它怎么 ...

  7. Java applet java.lang.OutOfMemoryError: Java heap space

    问题: 在eclipse上直接运行applet抛出 java.lang.OutOfMemoryError: Java heap space 异常 解决方案: Eclipse->Run->R ...

  8. eclipse中报错:java.lang.OutOfMemoryError: Java heap space

    问题: 在eclipse中执行java程序.去重100多万的数据,报例如以下错误: java.lang.OutOfMemoryError: Java heap space 异常原因: 在JVM中假设9 ...

  9. Eclipse 报 “Exception in thread main java.lang.OutOfMemoryError: Java heap space ”错误的解决办法

    Eclipse 报 "Exception in thread "main" java.lang.OutOfMemoryError: Java heap space &qu ...

  10. Eclipse 报 “Exception in thread main java.lang.OutOfMemoryError: Java heap space ”错误的解决办法...

    Eclipse 报 "Exception in thread "main" java.lang.OutOfMemoryError: Java heap space &qu ...

最新文章

  1. iOS开发--使用OpenSSL生成私钥和公钥的方法
  2. 人人都能做游戏!3D次世代CE云端引擎发布
  3. python实现数字形式转换
  4. ng-repeat part1 - how UI is rendered from {{name}} to actual value
  5. 如何在Kubernetes里给PostgreSQL创建secret
  6. 白盒测试和黑盒测试_黑盒测试与白盒测试的比较
  7. 夏普出了款机器人手机 可以和你“坐着聊聊天”
  8. python11-28笔记(1.6-1.7)
  9. 搭建外文技术博客程序员都应该有自己的博客
  10. 下一较大值(一,二)
  11. 能安装python库的app_APP自动化之安装Python(类库)环境
  12. 用mysecureshell搭建sftp
  13. MBR分析(1): 代码获取与初始化
  14. 解决Tomcat中文乱码问题
  15. The user specified as a definer (‘skip-grants user‘@‘skip-grants host‘) does not exist
  16. 【车间调度】基于遗传算法求解车间调度matlab源码
  17. 中国移动通信互联网短信网关接口协议CMPP2.0(普通文本短信、二进制数据短信)
  18. Elasticsearch的使用RestHighLevelClient
  19. [xhr4412][extension 4] u-boot-2020.07 DM9621 网卡驱动移植
  20. DOM基础笔记——DOMTokenList

热门文章

  1. IIS日志-网站运维的好帮手
  2. redis 消息队列 过段时间不能下发_以Redis来谈消息队列
  3. surface mesh framework运行
  4. yum安装virtualbox_CentOS7安装virtualbox
  5. 不混淆so文件_NDK开发_编译的cpp引用到 其它so, Android.mk 的写法
  6. word是不是计算机硬件,word及excel模拟试题1_计算机硬件及应用_IT/计算机_资料
  7. quickselect java,实现快速选择
  8. mysql一对多关联查询分页_mysql一对多关联查询分页错误问题的解决方法
  9. linux磁盘空间回收,linux磁盘空间满了后怎么去判定哪个地方占了多大的空间并回收...
  10. android代码无法访问data目录,解决Android7.1.1中无法打开/data目录的问题