Python 如何管理芹菜/RabbitMQ的内存消耗?

Python 如何管理芹菜/RabbitMQ的内存消耗?,python,rabbitmq,multiprocessing,celery,Python,Rabbitmq,Multiprocessing,Celery,我使用芹菜/rabbitmq访问互联网上的页面。由于一些页面很重,我的内存使用率出现了峰值,所以过了一段时间,芹菜和系统的平均负载增加了太多 top - load average: 74.91, 128.04, 173.44 Tasks: 3449 total, 88 running, 3353 sleeping, 0 stopped, 8 zombie %Cpu(s): 4.9 us, 94.8 sy, 0.0 ni, 0.1 id, 0.1 wa, 0.0 hi, 0.

我使用芹菜/rabbitmq访问互联网上的页面。由于一些页面很重,我的内存使用率出现了峰值,所以过了一段时间,芹菜和系统的平均负载增加了太多

top - load average: 74.91, 128.04, 173.44
Tasks: 3449 total,  88 running, 3353 sleeping,   0 stopped,   8 zombie
%Cpu(s):  4.9 us, 94.8 sy,  0.0 ni,  0.1 id,  0.1 wa,  0.0 hi,  0.1 si,  0.0 st
KiB Mem:   8175376 total,  8071820 used,   103556 free,     2256 buffers
KiB Swap:  8386556 total,  8386556 used,        0 free.    65620 cached Mem
它点击交换,大多数任务都会超时。因此,我希望减少进程或工作进程的数量,以将内存使用率保持在80%以下。我发现唯一可以动态增长和收缩进程的方法是“-autoscale”选项,但它的工作方式正好相反

autoscaler在有工作要做时添加更多池进程, 并在工作负载较低时开始删除进程

那么,我还可以使用其他解决方案吗?我是否应该自己监控内存使用情况,然后使用以下方法:

Control.pool_shrink(n=1, destination=None, **kwargs)[source]
缩小尺寸?有没有更简单的解决办法