【发布时间】:2013-07-18 20:52:18
【问题描述】:
我有一个作为服务 [基于会话的生命周期] 运行的 TCP/IP DataSnap 服务器,它不断地消耗内存,即使没有连接到它,也永远不会恢复到起始内存大小。
为了消除我的代码作为罪魁祸首,我已经建模了一个基本的 TCP/IP DataSnap 服务器,作为 VCL [基于会话的 LifeCycle] 运行,它服务于一个服务器方法类 [TDSServerModule],它只包含使用本机数据的基本数学函数types [没有要创建或释放的对象]。
当我使用非常瘦的客户端连接到所述 DataSnap 服务器时,我得到了相同的结果。 内存使用随着每个连接不断增长,并且在从客户端执行服务器端方法时偶尔增长。一旦连接关闭,DataSnap 服务器永远不会减少其内存使用量[即使在没有连接的情况下运行 8 小时]。
关于为什么会发生这种情况或更重要的是如何减少它的任何建议?
我正在使用 RAD Studio XE2 Update 4 HotFix 1。
【问题讨论】:
-
Datasnap 已死。数据快照万岁!
标签: delphi memory-leaks delphi-xe2 datasnap