历史版本2 :报表全局内存控制 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 版本

报表服务器版本
功能变更
11.0.30-

1.2 应用场景

FineReport模板取数后,会产生一些中间对象。这些中间对象会在各类计算(条件属性、过滤、样式等)后被清理。

但在计算过程中,可能由于模板较大或并发较高,导致内存激增,从而引发系统宕机等风险。

为解决该问题,帆软内置了报表全局内存控制功能,自动对中间对象进行内存占用估算,在内存不足时直接终止计算并抛错

2. 说明编辑

2.1 开启功能

如需启用「报表全局内存控制」功能,不同版本的FineReport开启步骤不同,请根据自身情况选择对应开启步骤。

FineReport版本
开启步骤
11.0.29及以下版本

需要安装报表全局内存控制插件来启用「报表全局内存控制」功

付费用户如需获取该插件,请联系帆软技术支持。技术支持联系方式:服务平台>在线支持。

设计器插件安装方法参照:设计器插件管理

服务器安装插件方法参照:服务器插件管理

11.0.30及以上版本

11.0.30及以上版本,「报表全局内存控制」功能默认内置于产品主JAR,默认启用。

1)管理员登录帆软应用,点击「管理系统>系统管理>常规」

2)在「防宕机专项配置」中,确保开启「内存控制」开关即可


注:FineReport从11.0.29及以下版本升级到11.0.30及以上版本后,报表全局内存控制插件会自动禁用,「内存控制」开关默认关闭,请手动开启「内存控制」开关。

2.2 功能作用

当模板进行计算时,系统会自动对中间对象进行内存占用估算,并与系统空闲内存进行对比。

每隔4096个中间对象,会作为一个中止点进行全局内存控制检查。

  • 如系统老年代已使用内存占比达到92%,说明系统空闲内存不足,将中止计算,模板直接报错。

  • 如系统老年代已使用内存占比不到92%,说明系统仍有空闲内存,继续计算,等待下一个中止点继续检查,直到计算完成。