这是我在rabbitmq消息代理中得到的=INFO REPORT==== 2015年1月13日::12:40:24 === vm_memory_high_watermark设置。已用内存:478063864允许内存:415868518=警告报告=== 2015年1月13日::12:40:24 ===在节点“rabbit@matchpointgps-141110”上设置内存资源限制警报。
发布者将被阻止,直到此警报清除
在我们的服务器上已经发生了两次。我仍然无法得到正确的解决方案。
6ljaweal1#
当队列长度变得非常高时,我们也遇到了类似的问题,它试图将消息写入磁盘,但速度不够快。在我们的测试中,当我们使用SSD驱动器时,我们没有遇到这个问题。对我们来说,最简单的解决方案是通过在消息上设置durable=true来立即将消息写入磁盘。这也是一个好主意,因为如果rabbit重新启动,队列中的数据不会丢失。
z5btuh9x2#
看看这篇关于RabbitMQ队列如何使用内存的博客文章:http://www.rabbitmq.com/blog/2011/10/27/performance-of-queues-when-less-is-more/TL;DR尽量保持队列为空
2jcobegt3#
最后,找到了一些更好的rabbitmq队列配置。我已经添加了下面一行到celery 配置,因为它是创建一个额外的队列为每个任务。CELERY_IGNORE_RESULT =真并且还为我的任务创建了单独的队列。这使得内存空闲,并准备好承担更重和更长的任务更多信息https://denibertovic.com/posts/celery-best-practices/
oewdyzsn4#
我在一个运行在docker上的rabbitMQ服务器上遇到了类似的问题。所有的东西都被阻止了,rabbit不会接受任何消息。我只是重新配置了磁盘可用空间限制:
rabbitmqctl set_disk_free_limit 1GB
这改变了“xx GiB低水印”并解决了问题。如果你使用的是“bitnami/rabbitmq”docker镜像,你可以设置这个变量:
RABBITMQ_DISK_FREE_ABSOLUTE_LIMIT: "1GB"
7ivaypg95#
我遇到了类似的问题。默认情况下,RabbitMQ将阻止传入消息,如果它开始使用超过40%的可用ram。如果你打开'rabbitmq.conf'文件(通常保存在计算机上的AppData文件夹中),你可以增加它。我通过添加这一行将我的更改为90%:vm_memory_high_watermark.relative = 0.9你必须在完成这个操作后重置RabbitMQ服务才能看到效果。希望这对你有帮助!
5条答案
按热度按时间6ljaweal1#
当队列长度变得非常高时,我们也遇到了类似的问题,它试图将消息写入磁盘,但速度不够快。在我们的测试中,当我们使用SSD驱动器时,我们没有遇到这个问题。
对我们来说,最简单的解决方案是通过在消息上设置durable=true来立即将消息写入磁盘。这也是一个好主意,因为如果rabbit重新启动,队列中的数据不会丢失。
z5btuh9x2#
看看这篇关于RabbitMQ队列如何使用内存的博客文章:http://www.rabbitmq.com/blog/2011/10/27/performance-of-queues-when-less-is-more/
TL;DR尽量保持队列为空
2jcobegt3#
最后,找到了一些更好的rabbitmq队列配置。
我已经添加了下面一行到celery 配置,因为它是创建一个额外的队列为每个任务。
CELERY_IGNORE_RESULT =真
并且还为我的任务创建了单独的队列。这使得内存空闲,并准备好承担更重和更长的任务
更多信息https://denibertovic.com/posts/celery-best-practices/
oewdyzsn4#
我在一个运行在docker上的rabbitMQ服务器上遇到了类似的问题。所有的东西都被阻止了,rabbit不会接受任何消息。
我只是重新配置了磁盘可用空间限制:
这改变了“xx GiB低水印”并解决了问题。
如果你使用的是“bitnami/rabbitmq”docker镜像,你可以设置这个变量:
7ivaypg95#
我遇到了类似的问题。默认情况下,RabbitMQ将阻止传入消息,如果它开始使用超过40%的可用ram。如果你打开'rabbitmq.conf'文件(通常保存在计算机上的AppData文件夹中),你可以增加它。我通过添加这一行将我的更改为90%:
vm_memory_high_watermark.relative = 0.9
你必须在完成这个操作后重置RabbitMQ服务才能看到效果。希望这对你有帮助!