Python 如何管理芹菜/RabbitMQ的内存消耗?
我使用芹菜/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.
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]
缩小尺寸?有没有更简单的解决办法