Java heap space 解决方法(转) - 51CTO博客
文章推薦指數: 80 %
在网上一查可能是JAVA的堆栈设置太小的原因。
跟据网上的答案大致有这两种解决方法: 1、设置环境变量 set JAVA_OPTS= -Xms32m -Xmx512m 可以 ...
Javaheapspace解决方法(转)
关注
flameover
赞
收藏
评论
分享
Javaheapspace解决方法(转)
转载
flameover
2016-10-2815:17:17
©著作权
文章标签
Javaheapspace
文章分类
Java
编程语言
Javaheapspace解决方法(转)https://blog.51cto.com/flameover/1866771
因为程序要从数据读取近10W行记录处理,当读到9W的时候就出现java.lang.OutOfMemoryError:Javaheapspace这样的错误。
在网上一查可能是JAVA的堆栈设置太小的原因。
跟据网上的答案大致有这两种解决方法:1、设置环境变量setJAVA_OPTS=-Xms32m-Xmx512m可以根据自己机器的内存进行更改,但本人测试这种方法并没有解决问题。
可能是还有哪里需要设置。
2、java-Xms32m-Xmx800mclassName就是在执行JAVA类文件时加上这个参数,其中className是需要执行的确类名。
(包括包名)这个解决问题了。
而且执行的速度比没有设置的时候快很多。
如果在测试的时候可能会用Eclispe这时候就需要在Eclipse->run-arguments中的VMarguments中输入-Xms32m-Xmx800m这个参数就可以了。
java.lang.OutOfMemoryError:Javaheapspace ===================================================使用Java程序从数据库中查询大量的数据时出现异常:java.lang.OutOfMemoryError:Javaheapspace在JVM中如果98%的时间是用于GC且可用的Heapsize不足2%的时候将抛出此异常信息。
JVM堆的设置是指java程序运行过程中JVM可以调配使用的内存空间的设置.JVM在启动的时候会自动设置Heapsize的值,其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)是物理内存的1/4。
可以利用JVM提供的-Xmn-Xms-Xmx等选项可进行设置。
例如:java-jar-Xmn16m-Xms64m-Xmx128mMyApp.jar如果HeapSize设置偏小,除了这些异常信息外,还会发现程序的响应速度变慢了。
GC占用了更多的时间,而应用分配到的执行时间较少。
HeapSize最大不要超过可用物理内存的80%,一般的要将-Xms和-Xmx选项设置为相同,而-Xmn为1/4的-Xmx值。
Heapsize的-Xms-Xmn设置不要超出物理内存的大小。
否则会提示“ErroroccurredduringinitializationofVMCouldnotreserveenoughspaceforobjectheap”。
==========================================================经过一个晚上的努力终于完成了一个文件替换指定字符串的程序,但是由于我要替换的全站程序html文件太多,所以eclipse下边老是在一个目录结束后报出java.lang.OutOfMemoryError:Javaheapspace的异常,然后就崩溃了。
我一想肯定是频繁操作造成来不及回收,于是在每个循环之后加上一个Thread.sleep(1000),发现还是到那个目录下就死掉,于是把1000改成5000,还是到那里死掉,我想可能不是来不及回收这么简单,或许sun的JVM里边刚好对于这种情况不释放也有可能。
接着我又把启动的参数添上一个-Xmx256M,这回就可以了。
想一想,还是对于垃圾回收的原理不太了解,就在网上查了一下,发现了几篇不错的文章。
http://java.ccidnet.com/art/3539/20060314/476073_1.htmlhttp://www.pconline.com.cn/pcedu/empolder/gj/java/0509/701281.html还有:Java堆的管理—垃圾回收提到一下几点,很不错,或许可以作为写程序时候的准则: (1)不要试图去假定垃圾收集发生的时间,这一切都是未知的。
比如,方法中的一个临时对象在方法调用完毕后就变成了无用对象,这个时候它的内存就可以被释放。
(2)Java中提供了一些和垃圾收集打交道的类,而且提供了一种强行执行垃圾收集的方法--调用System.gc(),但这同样是个不确定的方法。
Java中并不保证每次调用该方法就一定能够启动垃圾收集,它只不过会向JVM发出这样一个申请,到底是否真正执行垃圾收集,一切都是个未知数。
(3)挑选适合自己的垃圾收集器。
一般来说,如果系统没有特殊和苛刻的性能要求,可以采用JVM的缺省选项。
否则可以考虑使用有针对性的垃圾收集器,比如增量收集器就比较适合实时性要求较高的系统之中。
系统具有较高的配置,有比较多的闲置资源,可以考虑使用并行标记/清除收集器。
(4)关键的也是难把握的问题是内存泄漏。
良好的编程习惯和严谨的编程态度永远是最重要的,不要让自己的一个小错误导致内存出现大漏洞。
(5)尽早释放无用对象的引用。
大多数程序员在使用临时变量的时候,都是让引用变量在退出活动域(scope)后,自动设置为null,暗示垃圾收集器来收集该对象,还必须注意该引用的对象是否被监听,如果有,则要去掉监听器,然后再赋空值。
就是说,对于频繁申请内存和释放内存的操作,还是自己控制一下比较好,但是System.gc()的方法不一定适用,最好使用finallize强制执行或者写自己的finallize方法。
================================================tomcat遇到TOMCAT出错:java.lang.OutOfMemoryError:Javaheapspace,于是查了资料,找到了解决方法:IfJavarunsoutofmemory,thefollowingerroroccurs:Exceptioninthread"main"java.lang.OutOfMemoryError:JavaheapspaceJavaheapsizecanbeincreasedasfollows:java-Xms -XmxDefaultsare:java-Xms32m-Xmx128m如果你用win/tomcat/bin/catalina.bat加上下面的命令:setJAVA_OPTS=-Xms32m-Xmx256m如果你用unix/linux/tomcat/bin/catalina.sh加上下面的命令:JAVA_OPTS="-Xms32m-Xmx256m"
赞
收藏
评论
分享
举报
上一篇:学习三大境界!
下一篇:oracle创建用户、表空间,并赋权
举报文章
请选择举报类型
内容侵权
涉嫌营销
内容抄袭
违法信息
其他
具体原因
包含不真实信息
涉及个人隐私
原文链接(必填)
补充说明
0/200
上传截图
格式支持JPEG/PNG/JPG,图片不超过1.9M
取消
确认
已经收到您得举报信息,我们会尽快审核
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
全部评论
(0)
最热
最新
相关文章
java.lang.OutOfMemoryError:Javaheapspace
java.lang.OutOfMemoryError:Javaheapspace原因:内存溢出,内存一直申请一直占用,无法回收解决方法:定时重启下服务,
java
解决方法
内存溢出
java.lang.OutOfMemoryError:Javaheapspace解决方法转测试可用
这个问题的根源是jvm虚拟机的默认Heap大小是64M,可以通过设置其最大和最小值来实现.设置的方法主要是几个.
java
物理内存
tomcat
java程序
jar
Causedby:java.lang.OutOfMemoryError:Javaheapspace
Causedby:java.lang.OutOfMemoryError:Javaheapspaceorg.apache.jasper.JasperException:javax.servlet.ServletException:java.lang.OutOfMemoryError:Javaheapspace2009-4-214:32:37org.apache.cat
java
myeclipse
jvm
数据库
Java
java.lang.OutOfMemoryError:Javaheapspace内在溢出
这种问题,在网上查询了下,有各种各样的说法.在这里,我只说明下我自己实践出来的问题及解决方法
java
eclipse
tomcat
jar
解决方法
java.lang.OutOfMemoryError:Javaheapspace错误及处理办法(收集整理、转)
以下是从网上找到的关于堆空间溢出的错误解决办法:java.lang.OutOfMemoryError:Javaheapspace使用Java程序从数据库中查询大量的数据时出现异常:java.lang.OutOfMemoryError:Javaheapspace
java.lang.OutOfMemor
内存不足java.lang.OutOfMemoryError:Javaheapspace
java.lang.OutOfMemoryError:Javaheapspace解决方案[转]一直都知道可以设置jvmheap大小,一直用eclipse写/调试java程序。
一直用命令行orconsole加参数跑程序。
现象:在eclipse的配置文件eclipse.ini中设置-vm...
职场
休闲
内存不足
space
java.lang
java.lang.OutOfMemoryError:PermGenspacejava.lang.OutOfMemoryError:Javaheapspace
今天tomcat出现了java代码Exceptioninthread"DefaultQuartzScheduler_Worker-3"java.lang.OutOfMemoryError:PermGenspace nbsp;
职场
休闲
Javaheapspace
Javaheapspace解决方法(转)
因为程序要从数据读取近10W行记录处理,当读到9W的时候就出现java.lang.OutOfMemoryError:Javaheapspace这样的错误。
在网上一查可能是JAVA的堆栈设置太小的原因。
跟据网上的答案大致有这两种解决方法:1、设置...
java
垃圾收集
物理内存
tomcat
html
Javaheapspace解决方法
因为程序要从数据读取近10W行记录处理,当读到9W的时候就出现java.lang.OutOfMemoryError:Javaheapspace这样的错误。
在网上一查可能是JAVA的堆栈设置太小的原因。
跟据网上的答案大致有这两种解决方法:1、设置...
java
数据读取
类文件
eclipse
包名
java.lang.OutOfMemoryError:Javaheapspace解决方法
解决方法这个问题的根源是jvm虚拟机的默认Heap大小是64M,可以通过设置其最大和最小值来实现.设置的方法主要是几个. 1.可以在windows 更改系统环境变量加上JAVA_OPTS=-Xms64m Xmx512m 2,如果用
java.lang.OutOfMemor
java.lang.OutOfMemoryError:Javaheapspace解决方法
java.lang.OutOfMemoryError:Javaheapspace解决方法这个问题的根源是jvm虚拟机的默认Heap大小是64M,可以通过设置其最大和最小值来实现.设置的方法主要是几个.1.可以在windows更改系统环境变量加上JAVA_OPTS=-...
java
方法
解决
Java
休闲
javaheapspace解决方法和JVM参数设置
在JVM中如果98%的时间是用于GC(GarbageCollection)且可用的Heapsize不足2%的时候将抛出异常信息,java.lang.OutOfMemoryError:Javaheapspace。
所以产生这个异样的原因通常有两种:1.程序中出现了死循环2.程序...
java
tomcat
eclipse
jvm内存
物理内存
flameover
关注
私信
近期评论
Wcp知识管理系统部署文档
请问WCP评论知识时一点提交就反馈“该页面无法找到,请还回首页”这个情况如何处理
归零!
一切将从这里开始。
近期文章
1.用xmanager登陆Linux图形界面
2.entos6.5_x64tomcat7+jdk1.7
3.oracle创建用户、表空间,并赋权
4.Javaheapspace解决方法(转)
5.学习三大境界!
七日热门
Java-introductionofJava
Java入门_Java概述_Java的特点
JAVA基础——JavaSynchronized
Java-InterviewforJava01
javaJAVA_HOME
Java-Java反射
【java】java枚举模板
Java:Java快速入门
Java-Java语言
java基础--java语法
相关标签
全部
eclipseheapspace
elasticsearchjavaheapspace
hadoopheapspace
hivejavaheapspace
ideaheapspace
ideajavaheapspace
idea解决heapspace
javaheapspace
javaheapspaceat
javaheapspacetrycatch
签到领勋章
返回顶部
51CTO博客
首页
关注
热榜
订阅专栏
学堂
精培
开源社区
CTO训练营
51CTO
班级博客
登录注册
手机随时阅读
新人专享大礼包¥24
写文章
搜索历史
清空
热门搜索
查看【
】的结果
Copyright©2005-202251CTO.COM
版权所有京ICP证060544号
关于我们
官方博客
意见反馈
了解我们
全部文章
在线客服
网站地图
热门标签
友情链接
开源基础软件社区
51CTO学堂
51CTO
延伸文章資訊
- 1java.lang.OutOfMemoryError: Java heap space 原因及解決方案
使用Java程式從資料庫中查詢大量的資料時出現異常: java.lang.OutOfMemoryError: Java heap space 在JVM中如果98%的時間是用於GC且可用的Heap...
- 2「OOM」Java heap space原因與解決 - 人人焦點
「OOM」Java heap space原因與解決 · 突發高峯期:程序在正常的用戶量和一定數據量時運行正常。但是,在某個高峯時導致超出預期閾值,內存存活對象使用空間的量超出最大堆, ...
- 3报错:Java heap space - 帆软帮助文档
2. 原因 ... 由于服务器的JVM 不够用而抛出的错误,JVM 在启动的时候会自动设置heap size 的值,初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)是物理 ...
- 4Java heap space 堆溢出问题详解 - HeapDump性能社区
- 5在Java 中處理OutOfMemoryError 異常| D棧- Delft Stack
JVM 中有兩個不同的空間部分,Permgen 和Heap Space。本教程描述OutOfMemoryError ... OutOfMemoryError 最常見的原因是Java 虛擬機器堆空...