Python 3.4とTkinterでアプリを作成しました。 私のアプリケーションはいくつかの(3-5)スレッドを実行し、各スレッドは以下のように動作します。Windowsタスクマネージャー:Pythonアプリケーションのメモリ使用量が増加しました
-
のrecvfrom()ソケットからのメッセージを取得するための
- 無限ループ(UDP)メッセージを表示し、
は、私は窓の組み込みOS上で私のアプリを使うファイルに書き込む
その後、問題は(物理的な)
メモリ使用量が徐々に増加し、時には大幅に減少しています。 全体的には大丈夫です。
しかし、長期的な視点で仮想メモリサイズ(VMSize)が増加しています。 たとえば、私がアプリを起動したとき、VMSizeは26MBでした。 と翌日、29MB、 となり、翌日には32MBになります。 時には少し増加することもありますが、少し減少することもあります(例えば20KB)。 しかし全体的にそれは上昇傾向にあります。 これはそれほど大きな音量ではありませんが、「増加」すると気になりません。
GarbageCollectionが助けになり、私のコードに というgc.collect()を挿入すると、3時間ごとに呼び出されるようになりました。 何も変更されておらず、print(gc.collect())は常に0を示しました(アプリケーション自体の起動直後を除く)。
このメモリリークはありますか?
リファレンスサイクルはPythonの のPythonでメモリリークを引き起こす可能性がありますが、自分でdel()を定義することはありません。
ありがとうございます。