跟踪在 Cython 包装C++中分配的内存使用情况

Tracking memory usage allocated within C++ wrapped by Cython

本文关键字:内存 用情 情况 分配 Cython 包装 C++ 跟踪      更新时间:2023-10-16

我有一个Python程序,它调用了一些Cython代码,而这些代码又包装了一些原始C++代码。我想看看基本C++代码分配了多少内存。我已经尝试了 Python 的 memory_profiler 模块,但是,它似乎无法检测到C++代码分配的任何内容。我对此的证据是,我有一个 Cython 对象,它反过来存储了一个C++对象的实例。这个C++对象绝对应该保留一堆内存。在python中,当我创建Cython对象的实例(并且它存储C++对象的实例)时,memory_profiler不会检测到存储的任何额外内存(或者至少只能检测到可以忽略不计的内存)。

有没有其他方法可以检测 Python 的基本对象分配了多少内存C++?还是有类似于memory_profiler的东西,但对于 Cython 来说?

如果可以在 Linux 上运行程序,请使用 https://github.com/vmware/chap(例如,以"summary used"开头)。