Overview
Version
Report Server Version | Functional Change |
---|---|
11.0.30 | - |
11.0.32 | Optimized error prompts |
Application Scenario
After fetching the data, FineReport templates will generate some intermediate objects. These intermediate objects will be removed through different kinds of calculations (condition attribute, filter, and type).
However, during the calculation process, the memory may be spiked due to larger templates or higher concurrency leading to risks like system downtime.
To solve this problem, FineReport has built-in Report Global Memory Control to estimate the memory usage of intermediate objects, terminate the calculation and throws an error when memory is insufficient.
Description
Function Enabling
If you want to enable the Report Global Memory Control function, you should select the corresponding opening steps according to your situation as the steps to enable the function are different for different versions of FineReport.
FineReport Version | Enabling Procedure |
---|---|
Version11.0.9 and Lower Versions | You need to install the Report Global Memory Control plugin to enable the function. For paid users, contact Fanruan technical support to get the plugin. For details about how to contact technical support, see Technical Support Channel Introduction. For details about how to install the plugin in the designer, see Designer Plugin Management. For details about how to install the plugin on the server, see Server Plugin Management. |
Version 11.0.30 and Higher Versions | For version 11.0.30 and higher versions, The Report Global Memory Control function is built into the main product JAR and is enabled by default. 1. Log in to the decision-making system as the admin and choose System Management > System Setting > General. 2. Enable Memory Control in Downtime Prevention Configuration. ![]() When FineReport is upgraded from version 11.0.29 or lower versions to version 11.0.30 and higher version, the Report Global Memory Control plugin is automatically disabled and Memory Control is enabled by default. |
Function Entry
When the template performs calculations, the system automatically estimates the memory footprint of the intermediate objects and compares it to the system's free memory.
Every 4096 intermediate objects will be used as a point for global memory control checks.
92% of used memory of the system old age means the insufficient memory of the system and the calculation suspension. The template will directly report the error “The current system memory pressure is too high, the global memory control has prevented this preview, please try again later”.
If the system old age has used less than 92% of the memory, it means that the system still has free memory and continue the calculation. The system will wait for the next abort point to continue checking until the calculation is completed.