我们正在使用
django-celery==3.1.10
celery==3.1.20
python 2.7.13
我们编写了一个 CustomDataBaseScheduler 来调度任务,它可以完美地按时调度任务。我们正在运行 CeleryBeat 进程作为初始化脚本,但 celeryBeat 消耗系统的全部内存,即一天 24GB。
我尝试在芹菜节拍进程上运行 pmap,但它显示 [匿名] 占用了最多的内存。
有人可以帮助调试和解决此问题吗?
首先,如果您使用的是 django 1.8 或更高版本,请使用 celery 4.0 及更高版本。在这种情况下,您将不需要姜戈芹菜。同样在这种情况下,请按照本教程进行操作。 http://docs.celeryproject.org/en/latest/django/first-steps-with-django.html
遇到您的问题可能是以下原因之一:
- 您的员工超负荷工作。尝试使用此处提到的并发
- 检查你的 django 设置
DEBUG
是否设置为True
.它可能会导致内存泄漏,芹菜建议您在运行它时不要使用它。 - 检查历史记录中的内存泄漏修复。对我来说,似乎在您之后的下一个版本,准确地说,3.1.21 有一些内存泄漏修复。尝试升级到最新的 3.x 版本(仅当出于任何原因无法使用 4.x 时。
- 如果所有其他方法都失败了,请尝试一些监视工具来调试有关正在发生的事情的方案。此处提到了一些监视工具。