1. 概述
1.1 版本
報表伺服器版本 | 功能變更 |
---|---|
11.0.30 | - |
11.0.32 | 優化報錯提示 |
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%,說明系統仍有閒置記憶體,繼續計算,等待下一個中止點繼續檢查,直到計算完成。