Memray:一个面向 Python 的内存分析器
Memray 是彭博社开源的 Python 内存分析器,能够追踪和报告 Python 代码的内存分配情况,包括原生扩展中的 C/C++ 分配。它提供多种输出格式(火焰图、表格、统计摘要等),帮助开发者定位内存泄漏、优化内存使用,并深入了解 Python 应用的内存行为。
背景速读
Memray 是 Bloomberg(彭博社)开源的 Python 内存分析器,能追踪每行代码的内存分配、类型及调用栈。它与 py-spy、tracemalloc 等工具的区别在于:不仅显示用了多少内存,还能展示哪些 C 扩展(如 NumPy)分配了内存,并生成火焰图、表格等可视化报告。Bloomberg 内部用它分析量化金融系统后,于 2022 年开源,在 Python 性能调优社区反响较大。对需要精细化控制内存的 Python 开发者(如数据工程、服务端优化)来说,这是目前功能最全的开源方案之一。