python - 如何在 Python 中分析多线程程序的内存?

标签 python multithreading profiling memory-profiling

有没有办法在 Python 中分析多线程程序的内存?

对于 CPU 分析,我使用 cProfile 为每个线程创建单独的分析器统计信息,然后将它们组合起来。但是,我找不到使用内存分析器执行此操作的方法。我正在使用 heapy。

有没有办法像 cProfile 一样在 heapy 中合并统计信息?或者您会建议哪些其他内存分析器更适合此任务。

有关分析多线程程序的 CPU 使用率的相关问题:How can I profile a multithread program in Python?

还有另一个关于内存分析器的问题:Python memory profiler

最佳答案

如果您乐于分析对象而不是原始内存,您可以使用 gc.get_objects()功能,因此您不需要自定义元类。在更新的 Python 版本中,sys.getsizeof()还将让您尝试弄清楚这些对象使用了多少底层内存。

关于python - 如何在 Python 中分析多线程程序的内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4799166/

相关文章:

java - 当 AsyncTask 也使用另一个线程时如何设置延迟时间?

javascript - 衡量 Javascript 性能

profiling - 仪器分析 : "top functions" reorders functions

C:多线程

java - 同步方法中的重入

c++ - reshape 微软的 Concurrency::diagnostic::span 也可以检测外部跨度

python - matshow() 的替代方案

python - numpy中任意函数的按行广播

python - Django,在数据库中存储函数

python - 如何打印每秒迭代次数?