为什么明明没有超出heap的界限,却报OutOfMemoryException : java heap space

morocco 2008-03-20 11:31:20
我用Jprofiler测试过了,发现没有超出我设置的heap space空间,我设置的最大最小都是64m,其实设置512m也会报这个错误,很是奇怪

...全文
147 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
JavaAlpha 2009-08-28
  • 打赏
  • 举报
回复
期待解决 …………
老紫竹 2009-08-28
  • 打赏
  • 举报
回复
你为何要将那么大的对象放入内存?为何不用Stream方式处理
plplum 2009-08-28
  • 打赏
  • 举报
回复
java.lang.OutOfMemoryError: Java heap space
Heap size 设置
JVM堆的设置是指java程序运行过程中JVM可以调配使用的内存空间的设置.JVM在启动的时候会自动设置Heap size的值,
其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)是物理内存的1/4。可以利用JVM提供的-Xmn -Xms -Xmx等选项可
进行设置。Heap size 的大小是Young Generation 和Tenured Generaion 之和。
提示:在JVM中如果98%的时间是用于GC且可用的Heap size 不足2%的时候将抛出此异常信息。
提示:Heap Size 最大不要超过可用物理内存的80%,一般的要将-Xms和-Xmx选项设置为相同,而-Xmn为1/4的-Xmx值。
解决方法:手动设置Heap size
修改TOMCAT_HOME/bin/catalina.sh
在“echo "Using CATALINA_BASE: $CATALINA_BASE"”上面加入以下行:
JAVA_OPTS="-server -Xms800m -Xmx800m -XX:MaxNewSize=256m"

http://plplum.blog.163.com/blog/static/31032400200941033452869/
dracularking 2008-03-21
  • 打赏
  • 举报
回复
感觉你的dom4j树实例数量有点夸张
morocco 2008-03-21
  • 打赏
  • 举报
回复
windows vista
以及windows server 2003
都一样
morocco 2008-03-21
  • 打赏
  • 举报
回复
我尝试过几种设置,结果都是一样的
包括
-Xms64m -Xmx64m
-Xms128m -Xmx128m
-Xms256m -Xmx256m
-Xms512m -Xmx512m
xlongbuilder 2008-03-21
  • 打赏
  • 举报
回复
搜索下

你要调整jvm的heap 参数的
morocco 2008-03-21
  • 打赏
  • 举报
回复
我也觉得.............
Squall1009 2008-03-20
  • 打赏
  • 举报
回复
什么操作系统上?

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧