浏览 4502 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (13) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-02-28
项目中要从其它系统的webservice接口中获取数据,由于那个系统是用.net实现的webservices,返回的是一个xml文档格式的字符串,这个字符串的大小最大有1.2m,在抓取的过程中经常莫名其妙的停下来,也没有异常,后跟断点调试后发现java.lang.OutOfMemoryError: Java heap space。在网上搜了一下得到如下结论: http://www.zxbc.cn/html/20080505/33993.html 使用Java程序从数据库中查询大量的数据时出现异常:
后又在je的六合江山的博客上的http://webxyz.iteye.com/blog/282569 发现原来还有一个性能监视控制台。 按照其说明安装以后,没有调整堆的大小以前,分配的堆内存是6.2m,难怪出出现OutOfMemoryError 调整后则顺畅运行 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2009-03-05
你加大了Xms/Xmx后有持续测试么
说不定是程序原因导致的 假设你在默认值下跑了一天,溢出了 你调整后,测了一周,发现没问题。 但是可能因为加大的设置,要到一周才出现溢出。 所以还是观察gc的状况,以确定最终原因 |
|
返回顶楼 | |
发表时间:2009-03-05
楼主告诉你个信息
把$JAVA_HOME/bin 下的命令, 都学习一遍, 理解大部分参数, 你会发现自己进步了很多, JVM问题, 基本可以靠这些命令解决。 |
|
返回顶楼 | |
发表时间:2009-03-06
sdh5724 写道 楼主告诉你个信息把$JAVA_HOME/bin 下的命令, 都学习一遍, 理解大部分参数, 你会发现自己进步了很多, JVM问题, 基本可以靠这些命令解决。 谢谢指点! |
|
返回顶楼 | |
发表时间:2009-03-06
gembler 写道 你加大了Xms/Xmx后有持续测试么说不定是程序原因导致的假设你在默认值下跑了一天,溢出了你调整后,测了一周,发现没问题。但是可能因为加大的设置,要到一周才出现溢出。所以还是观察gc的状况,以确定最终原因 没有持续测试 生产环境是websphere没有这样的问题! 谢谢提醒! 我判断出现这样的问题 是抓取到的字符串为1.16M,Tomcat初始分配的内存为6.2M导致的 |
|
返回顶楼 | |
发表时间:2009-03-06
谢谢二位的指点 看来发布到论坛上还是有帮助的!
|
|
返回顶楼 | |