我有一个 TCP/IP DataSnap 服务器作为服务 [基于会话的 LifeCycle] 运行,它不断地消耗内存,即使没有连接到它,也永远不会回到起始内存大小。
为了消除我的代码作为罪魁祸首,我已经建模了一个基本的 TCP/IP DataSnap 服务器作为 VCL [基于会话的 LifeCycle] 运行,它服务于一个服务器方法类 [TDSServerModule],它只包含使用本机数据类型的基本数学函数 [没有要创建或释放的对象]。
当我使用非常瘦的客户端连接到所述 DataSnap 服务器时,我得到了相同的结果。内存使用随着每个连接不断增长,并且在从客户端执行服务器端方法时偶尔增长。一旦连接关闭,DataSnap 服务器永远不会减少其内存使用量[即使在没有连接的情况下运行 8 小时]。
关于为什么会发生这种情况或更重要的是如何减少它的任何建议?
我正在使用 RAD Studio XE2 Update 4 HotFix 1。