一.概要
1.バージョン
帳票サーババージョン | 機能変動 |
11.0.30 | - |
11.0.32 | エラーメッセージの最適化 |
2.応用シーン
FineReportのテンプレートでデータを取得すると、一時オブジェクトが生成されます。これらのオブジェクトは、条件属性、フィルタリング、スタイル設定などの各種計算後に削除されます。
しかし、計算処理の途中でテンプレートのサイズが大きい、または同時実行数が多い場合、メモリ使用量が急増し、システムのハングアップなどのリスクが発生する可能性があります。
この問題を解決するため、FanRuanには「帳票グローバルメモリ制御」機能が組み込まれています。この機能は、中間オブジェクトのメモリ使用量を自動的に推定し、メモリ不足が発生した際に計算を強制終了し、エラーをスローします。
二.説明
1.機能の有効化
「帳票グローバルメモリ制御」機能を有効にする場合、FineReportのバージョンによって設定手順が異なります。使用しているバージョンに応じて、適切な設定方法を選択してください。
FineReportバージョン | 機能の有効化手順 |
11.0.29以前のバージョン | 「帳票グローバルメモリ制御」機能を有効にするには、帳票グローバルメモリ制御プラグインをインストールする必要があります。 有料ユーザの方は、プラグインを取得するためにFanRuanの技術サポートへお問い合わせください:https://help.fanruan.com/finereport-en/doc-view-3990.html デザイナプラグインをインストール方法については、ヘルプドキュメント「デザイナプラグイン管理」を参照してください。 サーバプラグインをインストール方法については、ヘルプドキュメント「サーバプラグイン管理」を参照してください。 |
11.0.30及び以降のバージョン | 11.0.30及び以降のバージョンでは、「帳票グローバルメモリ制御」機能が製品のメインJARパッケージにデフォルトで搭載されており、デフォルトで有効になっています。 1)管理者はでFineReportポータルにログインし、[システム]-[システム管理]-[標準]をクリックします。 2)[障害対処専用の設定]内の[メモリ制御]スイッチが有効になっていることを確認します。 注意:FineReportのバージョンを11.0.29以前から11.0.30以降へアップグレードすると、[帳票グローバルメモリ制御]プラグインは自動的に無効化され、[メモリ制御]スイッチがデフォルトで有効になります。 |
2.機能作用
テンプレートの計算中、システムは自動的に中間オブジェクトのメモリ使用量を推定し、システムの空きメモリと比較します。
4096 個の中間オブジェクトごとに、グローバルメモリ制御チェックのための中止点が設定されます。
• システムの旧世代メモリ使用率が92%に達すると、空きメモリが不足している状態を示します。このため、計算処理が中止され、テンプレートには「現在のシステムメモリの負荷が高いため、グローバルメモリ制御によって今回のプレビューがブロックされました。しばらくしてから再試行してください。」というエラーメッセージが表示されます。
• システムの旧世代メモリ使用率が92%未満の場合、システムには空きメモリが残っていることを示します。そのため、計算を続行し、次の中止点で再度確認を行います。計算が完了するまで、このプロセスを繰り返します。