论坛首页 Java企业应用论坛

生产环境jvm内存运行1小时,就接近xmx,系统奇慢。

浏览 19096 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-10-20  
neptune 写道
大家看看图,这个Jasperreport,是不是罪魁祸首现在还不能定,但这个也太高了。
用的是Japerreport 3.7.0.系统大量使用报表。

用JasperReport曾遇到过oom. JasperReport会把JasperPrint对象放到HttpSession缓存起来~~~
0 请登录后投票
   发表时间:2011-10-22  
终于结束了,找到了问题。jasperreport3.7.0没有提供setLeftMargin()和setRightMargin方法,自己写了程序通过反射写JasperReport两个属性,由于一点小的疏忽,x轴正常允许操作人员调整1到40,但实际上设计报表时,只允许到30,照成x轴越界,调用fillReport方法时,jasperreport无法判断报表打印界限,无限的生成JRBasePrintPage对象,存放到JasperPrint的pages属性中(ArrayList),直到jvm内存耗尽。一个小的低级失误,造成了大错。
0 请登录后投票
   发表时间:2011-10-22  
neptune 写道
终于结束了,找到了问题。jasperreport3.7.0没有提供setLeftMargin()和setRightMargin方法,自己写了程序通过反射写JasperReport两个属性,由于一点小的疏忽,x轴正常允许操作人员调整1到40,但实际上设计报表时,只允许到30,照成x轴越界,调用fillReport方法时,jasperreport无法判断报表打印界限,无限的生成JRBasePrintPage对象,存放到JasperPrint的pages属性中(ArrayList),直到jvm内存耗尽。一个小的低级失误,造成了大错。


   呵呵..恭喜~
0 请登录后投票
   发表时间:2011-11-17  
我第一眼就感觉是你的代码类中有死循环,尽管我也犯这样的错,谢谢
0 请登录后投票
   发表时间:2011-11-18  
弱弱的问下,是不是该用集群对服务器进行减负了?我看很多帖子讨论大型系统的部署,基本都是多个的
0 请登录后投票
   发表时间:2011-11-18  
Vity 写道
弱弱的问下,是不是该用集群对服务器进行减负了?我看很多帖子讨论大型系统的部署,基本都是多个的


那是一定的,但在试用期你要评估一个jvm的支持业务的性能指标。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics