サービス [セッション ベースのライフサイクル] として実行されている TCP/IP DataSnap サーバーは、メモリを継続的に消費し、接続がない場合でも最初のメモリ サイズに戻ることはありません。
犯人としての私のコードを排除するために、VCL [セッション ベースのライフサイクル] として実行される基本的な TCP/IP DataSnap サーバーをモデル化しました。このサーバー メソッド クラス [TDSServerModule] は、ネイティブ データ型を使用する基本的な数学関数のみを含みます [no作成または解放するオブジェクト]。
上記の DataSnap サーバーに非常に薄いクライアントで接続すると、同じ結果が得られます。メモリ使用量は、接続ごとに継続的に増加し、クライアントからサーバー側のメソッドを実行すると散発的に増加します。接続が閉じられると、DataSnap サーバーのメモリ使用量が減ることはありません [接続なしで 8 時間実行した場合でも]。
なぜこれが発生するのか、さらに重要なことにそれを削減する方法について何か提案はありますか?
RAD Studio XE2 Update 4 HotFix 1 を使用しています。