2

我正在尝试在基于 python 2.4 ThreadingUnixStreamServer 的应用程序中调试内存泄漏。看来我在对服务器的每个请求都泄漏了内存。尝试调试它,我使用 gc 模块计算连续调用“句柄”之间的对象数,并收到相同的数字。但是,当我检查字符串的数量时,我注意到它在请求之间增加了。当我区分调用之间的字符串列表时,我注意到我创建了一个新字符串“Thread-n”(其中“n”是一个运行数字,例如“Thread-3”、“Thread-4”等) . 我认为这与服务器为每个请求生成一个具有新名称的新线程这一事实有关,但我不清楚为什么没有从内存中清除旧名称。我检查并看到并发线程的数量没有增加,所以看起来好像我没有泄漏实际线程。知道如何找到对这些字符串的引用,或者对可能导致此泄漏的原因有任何猜测,或者我如何进行调查?

谢谢。

4

0 回答 0