1
Amy 原创整理|资料核验:2026-10-31
【Python文档事实】tracemalloc用于追踪Python分配的内存块。若希望覆盖尽可能多的分配,应尽早启动;take_snapshot不会包含开始追踪之前已分配的内存块。因此,在运行很久后才启动,不等于能追溯整个程序的分配历史。
get_traced_memory返回当前追踪大小与峰值。reset_peak把记录的峰值设为当前大小,不会释放对象,也不会清空分配追踪;它适合重新观察接下来一段操作的峰值,而不是用来“解决内存泄漏”。
【Amy建议】调查某段代码时,先启动追踪,再在前后各取一次快照,用compare_to比较同一范围的变化。把追踪开销也纳入考虑:保存更多调用栈帧会增加CPU与内存成本。看到增长只能作为继续排查的线索,不应把每一次短期增长都直接叫作泄漏。