我现在正在使用IPython 0.10.2和Python 2.7。我在我的集群上启动了一个ipcontroller和20个ipengines。代码结构非常简单。我只是使用MultiEngineClient.execute()方法和MultiEngineClient字典界面(例如,mec ['a'] = b)。我目前的申请需要运行近两天。但是,运行10个小时后,我发现ipcontroller使用了3.1 GB的内存。我确实使用MultiEngineClient.clear_properties()。但它永远不会释放任何记忆。有谁知道如何释放ipcontroller的内存?
答案 0 :(得分:0)
不幸的是,在IPython 0.10的Controller中可能无法有效释放内存,但MultiEngineClient.clear_pending_results()
方法可能会有所帮助。
0.11-0.12中的控制器可以使用数据库(sqlite或mongodb)存储结果,并且已经被认为运行了很长时间,吞吐量为千兆字节而没有不合理的长期增长。