2012-01-11 14 views
0

私は現在IPython 0.10.2とPython 2.7を使用しています。私は自分のクラスタで1台のipcontrollerと20台のipenginesを起動します。コード構造は非常に簡単です。 MultiEngineClient.execute()メソッドとMultiEngineClient辞書インターフェイス(例:mec ['a'] = b)を使用します。私の現在のアプリケーションは、ほぼ2日間実行する必要があります。しかし、10時間実行した後、私はipコントローラが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

+0

上記のようにclear_pending_results()を試しましたか? clear_properties()関数は実際のリクエスト/結果には影響しないので、役に立たないでしょう。 – minrk

+0

私のコードはブロックされていないメソッドを使用していません。私はそれが助けるかどうか分からない。いずれにせよ、私はそれを試みます。ありがとうございました! – Xiao