python - celery worker 在任务完成后不释放内存

标签 python linux celery

我在 centos 6.5 机器上运行以 redis 作为代理的 celery,配置如下:

app.conf.update(
    CELERY_ENABLE_UTC=True,
    CELERY_SEND_TASK_SENT_EVENT=True,
    CELERY_ACCEPT_CONTENT=['msgpack', 'json', 'application/x-python-serialize'],
    CELERY_TASK_SERIALIZER='msgpack',
    CELERY_RESULT_SERIALIZER='msgpack',
    CELERYD_PREFETCH_MULTIPLIER=1)

问题是,即使队列中没有任务,也根本没有事件任务,内存也不会释放

任何想法都可能有所帮助!

最佳答案

通常,Unix 进程在不再需要时不会系统地将它们从操作系统获取的内存返回给操作系统。所以随着时间的推移,进程的内存使用量会增加。

如果您对没有实际的编码或配置问题影响您的工作人员感到满意,您可以定期重新启动他们。

关于python - celery worker 在任务完成后不释放内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38992930/

相关文章:

python - 使用正则表达式匹配字符串中的多个参数

linux - 我是否必须 pthread_join 我创建的每个线程?

LINUX - shell 脚本查找并列出所有有权在目录树中写入的文件

android - ActionBarSherlock 4.2 的构建问题

python - 超时后,Celery 没有将任务放回 RabbitMQ 队列

python - 如何在单元测试期间捕获 Celery 任务?

python - 尝试从从两个函数打印的函数返回一个数据集

python - python中强大快速的哈希函数(搜索算法)

python - 如何在 Windows 10 上安装 scipy?

python - 我可以将 luigi 与 Python celery 一起使用吗