2012-01-11 28 views
0

我現在使用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的內存?巨大的內存使用ipcontroller

回答

0

不幸的是,在IPython 0.10的控制器中可能無法有效地釋放內存,但MultiEngineClient.clear_pending_results()方法可能會有所幫助。

0.11-0.12中的控制器可以使用數據庫(sqlite或mongodb)來存儲結果,並且已經看到運行很長時間,千兆字節的吞吐量沒有不合理的長期增長。

+0

因此,對於IPython 0.10.2,我什麼都做不了。 – Xiao 2012-01-11 21:47:37

+0

您是否嘗試過clear_pending_results(),正如我所提及的那樣? clear_properties()函數不會影響實際的請求/結果,所以它不會起作用。 – minrk 2012-01-12 22:48:29

+0

我的代碼不使用未封鎖的方法。我不確定它是否有幫助。無論如何,我會嘗試。謝謝! – Xiao 2012-01-12 23:49:18