オブジェクトを絶えず割り当てて解放する、長時間実行されるプロセスがあります。オブジェクトは解放されていますが、RSSメモリの使用量は時間の経過とともに増加します。
発生している断片化の量を計算するにはどうすればよいですか?1つの可能性は、RSS / sum_of_allocationsを計算し、それを指標として使用することです。それでも、分母(sum_of_allocations)を計算する方法を教えてください。
オブジェクトを絶えず割り当てて解放する、長時間実行されるプロセスがあります。オブジェクトは解放されていますが、RSSメモリの使用量は時間の経過とともに増加します。
発生している断片化の量を計算するにはどうすればよいですか?1つの可能性は、RSS / sum_of_allocationsを計算し、それを指標として使用することです。それでも、分母(sum_of_allocations)を計算する方法を教えてください。
ガベージコレクタインターフェイス、gcを確認してください。
http://docs.python.org/2/library/gc.html
gc.get_objects()を使用して、追跡されているオブジェクトを検査できます。
「原則として、アトミックタイプのインスタンスは追跡されず、非アトミックタイプのインスタンス(コンテナー、ユーザー定義オブジェクトなど)は追跡されます。」
gc.garbageもあります。これは、解放できないが到達できないオブジェクトを検索します。