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%,说明系统仍有空闲内存,继续计算,等待下一个中止点继续检查,直到计算完成。