我有一个作为服务运行的TCP/IP DataSnap服务器[基于会话的LifeCycle],它不断咀嚼内存,即使没有连接时也不会回到起始内存大小。连接关闭后如何释放DataSnap内存?
为了消除我的代码作为罪魁祸首,我建立了一个基本的TCP/IP DataSnap服务器,作为VCL [基于会话的LifeCycle]运行,服务于Server Method类[TDSServerModule],其中仅包含使用native数据类型[没有要创建或免费的对象]。
当我用一个非常瘦的客户端连接到所述DataSnap服务器时,我得到了相同的结果。 随着每个连接的内存使用量不断增加,并且在从客户端执行服务器端方法时零星增长。一旦连接关闭,DataSnap服务器永远不会减少其内存使用量[即使在没有连接的情况下运行8小时]。
有关为什么发生这种情况或者更重要的是如何减少它的任何建议?
我使用RAD Studio的XE2更新4的HotFix 1
Datasnap已死亡。万岁datasnap! – whosrdaddy