Bloomberg 开源 memray,一个 Python 内存分析工具

Bloomberg 开源了 memray,这是一种在 Python 应用程序中分析内存的工具。 该程序跟踪Python中的内存分配操作,并提供用于分析和优化各代码段的内存消耗的可视化界面,以及用C/C++编写的插件。 报告可以交互方式生成,也可以以 HTML 格式生成。 它包括一个用于管理分析的 CLI 界面和一个可用于跟踪第三方项目中的内存操作的库。 该代码在 Apache 2.0 许可证下发布。 仅支持在Linux平台上操作。

主要特点:

  • 应用程序:确定应用程序中内存消耗高的原因,查找内存泄漏,并识别执行过多内存分配的代码。
  • 跟踪所有函数调用的总内存消耗、函数内的消耗以及内存分配操作的数量。 能够准确估计调用堆栈。
  • 处理对 C/C++ 中的库的调用并计算本机模块中的内存消耗。 支持使用 numpy 和 pandas 分析项目。
  • 开销最小,对分析应用程序性能的影响可以忽略不计。 禁用本机代码跟踪以提高性能的选项。
  • 提供大量内存使用报告,包括可视化层次图和梯形图(火焰图)。
  • 能够使用线程并在单个线程的上下文中分析内存。 支持 Python 线程和本机线程,例如 C/C++ 模块中使用的 C++ 线程。
  • 可以与 pytest 集成并提供定义内存消耗限制的 pytest 注释,如果超出,将在测试执行期间生成警告。

Bloomberg 开源 memray,一个 Python 内存分析工具
Bloomberg 开源 memray,一个 Python 内存分析工具


来源: opennet.ru

添加评论