如何分析芹菜任务的内存使用情况?

时间:2020-04-21 18:36:32

标签: python memory-management celery django-celery

我有一个Django应用程序,该应用程序使用celery lib运行后台任务,我需要获取并存储任务的最大内存使用量。

我已经尝试了memory_profiler库中的memory_usage,但是由于出现错误:“不允许后台进程有子进程”,因此无法在任务中使用此函数。我还尝试了任务外部的memory_usage函数,以监视task.async调用,但是由于某种原因,该任务被触发了两次。

我发现的所有其他方法包括检查代码不同位置的内存使用量,然后获取最大值,但是我感觉这是非常不准确的,并且可能有些调用具有很高的内存在设法检查当前内存使用率之前,由于垃圾回收而被遗漏的使用率。

官方文档具有一些有用的功能,但必须依靠上述方法。 https://docs.celeryproject.org/en/latest/reference/celery.utils.debug.html

谢谢!

0 个答案:

没有答案