二次开发的检斤功能内存泄露导致oom宕机

栏目:eas cloud知识作者:金蝶来源:金蝶云社区发布:2024-09-16浏览:1

二次开发的检斤功能内存泄露导致oom宕机

所属模块服务器环境
适用版本EAS701
问题描述 EAS服务器宕机,10月4号、10月5号、10月7号连续宕机,每天下午4点10几分宕机,跟后台事物执行同步检斤单的时间相同

原因分析产生的dump文件,确定为内存溢出导致的宕机。分析dump文件,从下图可以看出,和weigh相关的检斤对象集合占据了1.5G左右内存。

展开上图第一条红线内容(527兆内存占用)


每个WeighNoticeBillHeadInfo对象占用11k左右,共有36个字段


再展开第二条红线内容(516兆内存占用),

每个WeighTempInfo对象占用11k左右,共有52个字段

解决方法一次检斤相关功能操作中需要在内存中存储如下集合对象,上述内存溢出如下集合对象共占用1.5G内存,加上其他系统其他内存占用,最终导致内存溢出宕机。WeighNoticBillHeadCoolection、WeighNoticBillEnrtyCollection、WeighTempCollection、WeighTempLogCollection1、 请开发确认是否需要同时在内存中处理这些对象,是否有全局变量一直持有对象不能被回收。2、 是否能减少不必要的字段加载内存中3、 控制一次加载处理的记录数(根据分析,上述宕机发生在处理5万条以上的记录)

二次开发的检斤功能内存泄露导致oom宕机

所属模块服务器环境适用版本EAS701问题描述 EAS服务器宕机,10月4号、10月5号、10月7号连续宕机,每天下午4点10几分宕机,跟后台事物执行...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息