Claris FileMaker 2023 – WebDirect ガベージコレクションを実行

ガベージコレクション とは

プログラムが使用するメモリは、まず使うときにメモリ領域を「確保」処理をします。
確保している間は、他のプログラムからは使えません。
プログラムが不要と判断したときやプログラムが終了するときに、
そのメモリ領域を「開放」処理をしなければならないんですが、
それができなかった場合、そのメモリは2度と使われることはないのに確保され続けられ、
OS全体でメモリが足りない状況にどんどんなっていきます。
この状況はメモリーリークともいわれます。

2度と使われることはないのに確保され続けられているメモリを見つけて、
強制的に「開放」処理を行う機能をガベージコレクションといいます。

FileMaker WebDirect でのガベージコレクション

FileMaker の通常の処理では何も意識しなくてもガベージコレクションがしっかりと働いてくれます。

しかし実際、Claris FileMaker WebDirect ユーザーがサインインした後に、正常な操作でサインアウトしたとしても、
メモリ使用率はわずかしか減りません。
それを繰り返していると WebDirect ユーザーがほとんど接続していないのに、
サーバーでのメモリ使用率が高いままという状況があります。
WebDirect では バックグラウンドで動作している Java のガベージコレクションが働かないシーンが多いようです。

強制ガベージコレクション

新バージョン2023からは、
FileMaker Server Admin Console の「コネクタ ー Web 公開 ー Web 公開エンジン」の場所に、
「今すぐガベージコレクションを実行」というボタンが追加されました。

また、システムスクリプトにも標準で、
WebDirect のプライマリサーバーに対する「Sys_Default_RunGarbageCollection」スクリプトや、
WebDirect のセカンダリサーバーに対する「Sys_Default_RunGarbageCollection_On_Secondary」スクリプトが追加されました。
これを使ってスケジュールによる定期的な強制ガベージコレクションを実行することもできます。

実際 FMServer_Sample.fmp12 で検証したところでは、
この機能によるメモリ開放はほとんど確認できませんでしたので、
今後もっと大きく効果のあるシーンを見つけていきたいと思います、、。

 

【 余談 】
最近下記リンク先への流入増大したいこともあり、
流入量が多いとブログの価値が高まりますます投稿を加速していきたいと思います。
リンク先を開いていただけると大変助かります。
Claris International Inc. (日本語)
ご協力いただけましたら幸いです。