我正在编写一个消耗大量内存的服务器应用程序,我有一个问题,即python没有将内存返回给操作系统,因此随着时间的推移,我的应用程序会消耗越来越多的内存。我做了很多测试,并确认我正在使用的大型对象正在被正确发布,所以它是一个python问题。
我发现的一项工作是在一个单独的进程中完成内存繁重的工作,然后在我完成后终止这个进程。但是内存繁重的操作一直发生在客户端连接上。
我使用Twisted Perspective Broker编写服务器来处理客户端/服务器通信,它工作正常。我想要实现的是连接到服务器,一旦进行了一些身份验证,就会产生一个进程,该进程在用户连接时始终处于活动状态,然后在用户断开连接时停止该进程,这应该可以解决我的内存问题。 / p>
我正在尝试找出处理此过程的最佳方法。我可以使用reactor.spawnprocess
在连接上运行另一个进程,但我不确定将PB调用代理到此子进程的最佳方法,
您可以提供的任何建议都非常好。