我有一个 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 (例如,以“总结使用”开头)。
关于python - 跟踪由 Cython 包装的 C++ 中分配的内存使用情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41573524/