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