4

オブジェクトを絶えず割り当てて解放する、長時間実行されるプロセスがあります。オブジェクトは解放されていますが、RSSメモリの使用量は時間の経過とともに増加します。

発生している断片化の量を計算するにはどうすればよいですか?1つの可能性は、RSS / sum_of_allocationsを計算し、それを指標として使用することです。それでも、分母(sum_of_allocations)を計算する方法を教えてください。

4

1 に答える 1

1

ガベージコレクタインターフェイス、gcを確認してください。

http://docs.python.org/2/library/gc.html

gc.get_objects()を使用して、追跡されているオブジェクトを検査できます。

「原則として、アトミックタイプのインスタンスは追跡されず、非アトミックタイプのインスタンス(コンテナー、ユーザー定義オブジェクトなど)は追跡されます。」

gc.garbageもあります。これは、解放できないが到達できないオブジェクトを検索します。

于 2012-12-09T03:20:06.447 に答える