彭博社开源 Memray,一个 Python 内存剖析器

开源
Memray 是一个由彭博社开发的内存剖析器memory profiler,现在已经开源。它可以跟踪 Python 代码中的内存分配,包括本地扩展和 Python 解释器本身。

Memray 是一个由彭博社开发的内存剖析器memory profiler,现在已经开源。它可以跟踪 Python 代码中的内存分配,包括本地扩展和 Python 解释器本身。内存剖析是了解程序如何利用内存的有力工具,因此可以检测内存泄漏或确定程序中哪些区域消耗的内存最多。

与 py-spy 等抽样内存剖析器相比,Memray 可以跟踪每个函数调用,包括对 C/C++ 库的调用,并详细显示调用栈。彭博社称,这并不以牺牲性能为代价,剖析只使解释代码的速度变慢一点。然而,原生代码剖析的速度较慢,因此需要直接启用。

Memray 可以根据获得的内存消耗数据生成各种报告,包括火焰图,这对快速、准确地识别最常见的代码路径很有价值。

据 EgdeDB 的联合创始人兼 CEO Yury Selivanov 称,该工具提供了以前无法获得的对 Python 应用的洞察力。Memray 可以用来从命令行中执行和剖析 Python 应用。

    $ python3 -m memray run -o output.bin my_script.py
$ python3 -m memray flamegraph output.bin

另外,你可以使用 pytest-memray 将 Memray 集成到你的测试套件中。你也可以用 -native 命令行选项对所有的 C/C++ 调用进行剖析,或者用 -live 命令行选项在程序执行过程中实时分析内存分配。Memray 可以在 Linux x86/64 系统上用 python3 -m pip install memray 来安装。

责任编辑:未丽燕 来源: Linux中国
相关推荐

2019-08-26 09:07:49

iPhone苹果秋季发布会

2009-04-07 09:58:55

2013-11-11 11:20:04

2012-05-21 22:12:01

2015-07-28 16:17:54

Windows 10PC

2011-12-12 13:26:37

新浪微博

2021-06-03 08:59:26

黑客网络攻击勒索软件

2009-02-05 08:33:39

彭博社裁员扩编

2021-08-04 12:13:42

OpenSSF思科开源

2015-06-15 12:30:10

Hadooplong编码剖析

2022-01-05 08:58:08

Python解释器编程语言

2020-04-15 19:31:59

Bitwarden开源密码管理器

2022-08-09 18:00:26

开源密码管理器Padloc

2014-07-21 10:25:12

ENode开发论坛

2020-04-21 14:54:41

远程办公飞书RSS

2023-12-08 14:13:00

MemrayPython内存

2015-07-29 10:00:16

开源项目

2012-07-30 09:40:52

Lua

2014-10-21 10:25:50

程序员

2017-07-05 14:37:07

Linux调试器寄存器和内存
点赞
收藏

51CTO技术栈公众号