gpt4 book ai didi

django - Celery beat 进程在启动时分配大量内存

转载 作者:行者123 更新时间:2023-12-05 03:07:34 24 4
gpt4 key购买 nike

我使用 Celery 3.1.23 在 Heroku 上运行 Django 1.9 网站。 RabbitMQ 用作代理。

重启beat worker后,内存占用一直在497Mb左右。这导致频繁出现错误 R14(超出内存配额),因为它很快达到 512Mb 限制。

如何在启动时分析内存中的内容? IE。重新启动时如何获取内存中内容的详细信息?

下面是使用 beta Heroku log-runtime-metrics 获得的内存消耗的详细信息:

heroku/beat.1:
source=beat.1 dyno=heroku.52346831.1ea92181-ab6d-461c-90fa-61fa8fef2c18
sample#memory_total=497.66MB
sample#memory_rss=443.91MB
sample#memory_cache=20.43MB
sample#memory_swap=33.33MB
sample#memory_pgpgin=282965pages
sample#memory_pgpgout=164606pages
sample#memory_quota=512.00MB

最佳答案

我遇到了同样的问题。四处寻找,我跟着How many CPU cores has a heroku dyno?Celery immediately exceeds memory on Heroku .

所以我输入:

heroku run grep -c processor /proc/cpuinfo -a <app_name>

它返回了 8。所以我将 --concurrency=4 添加到我的 Procfile 行:

worker: celery -A <app> worker -l info -O fair --without-gossip --without-mingle --without-heartbeat --concurrency=4

而且内存使用量似乎除以将近 2:

Screenshot of memory usage of worker Dyno on Heroku after the explained changes

关于django - Celery beat 进程在启动时分配大量内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47219767/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com