Python 有没有办法在多线程/多进程应用程序中使用tracemalloc?

Python 有没有办法在多线程/多进程应用程序中使用tracemalloc?,python,Python,我不能共享代码,但当我导入tracemalloc时,为单线程Python应用程序配置内存效果很好,但当我开始使用涉及多线程的框架时,会抛出segfault错误。我怀疑这是因为tracemalloc在每个工作进程中使用了太多的堆内存 我尝试过的:是的,我研究过guppy和memory_profiler,但我似乎无法让它们中的任何一个与我的多线程应用程序一起工作(或者它们不容易测量峰值内存)。我试过tracemalloc,因为它很容易提供峰值内存。Guppy在安装Python 3时似乎遇到了一些问题

我不能共享代码,但当我导入tracemalloc时,为单线程Python应用程序配置内存效果很好,但当我开始使用涉及多线程的框架时,会抛出segfault错误。我怀疑这是因为tracemalloc在每个工作进程中使用了太多的堆内存

我尝试过的:是的,我研究过guppy和memory_profiler,但我似乎无法让它们中的任何一个与我的多线程应用程序一起工作(或者它们不容易测量峰值内存)。我试过tracemalloc,因为它很容易提供峰值内存。Guppy在安装Python 3时似乎遇到了一些问题,memory_profiler使用了decorator@profile,我似乎无法将include_children作为切换标志传递给它。

您可以试试;它同时进行CPU、GPU和内存分析,可用于多线程应用程序,不需要装饰程序。充分披露:我是Scalene的主要作者之一。