キューに大量のデータを詰め込み、ワーカーがそのデータを空にするアプリケーションがあります。
キューがブロックされているため使用しているので、常にロックを適用する必要はありません。
そのため、そのキューに100万項目の文字列データが詰め込まれることがあります。各アイテムは約80バイトのメモリを使用します。
ある場合には、ピーク使用時に、Pythonは約3GBのメモリを消費し始めます。次に、コンシューマーがキュー全体を空にしても、Pythonはまだ3GBのメモリを使用しています。コマンドを使用してメモリをチェックしていますps
。この現象は何ですか?そもそもキューが膨らんでいるために、このメモリ使用量が多いのでしょうか。もしそうなら、それを抑えるために何ができるでしょうか?キューの代わりとしてPythonに他のより良いコレクションはありますか?