2

Python 2.4 ThreadingUnixStreamServer ベースのアプリケーションでメモリ リークをデバッグしようとしています。サーバーへのすべてのリクエストでメモリ リークが発生しているようです。それをデバッグしようとして、gc モジュールを使用して、「ハンドル」への連続した呼び出し間のオブジェクトの数をカウントし、同じ数を受け取りました。しかし、文字列の数を確認すると、リクエスト間で増加していることに気付きました。呼び出しごとに文字列のリストを比較すると、「Thread-n」という新しい文字列が作成されていることに気付きました (「n」は、「Thread-3」、「Thread-4」などの実行中の番号です)。 . これは、サーバーがリクエストごとに新しい名前で新しいスレッドを生成するという事実と関係があると思いますが、古い名前がメモリから消去されなかった理由は明らかではありません。同時スレッド数が増加していないことを確認したので、実際のスレッドがリークしているようには見えません。これらの文字列への参照を見つける方法、またはこのリークの原因についての推測、または調査方法はありますか?

ありがとう。

4

0 に答える 0