减少RabbitMQ内存使用率

我正在尝试在小型VPS(512mb RAM)以及Nginx上运行RabbitMQ。 其他几个程序。 我已经能够毫不费力地调整其他所有对象的内存使用情况,但是我似乎无法让RabbitMQ使用更少的RAM。

我认为我需要减少Erlang用于RabbitMQ的线程数,但是我无法使其正常工作。 我还尝试将 vm_memory_high_watermark 设置为低于默认值(40%)的几个不同值,甚至低至5%。

部分问题可能是VPS提供程序(MediaTemple )允许我检查分配的内存,因此当使用免费或顶级时,它表明服务器大约有900mb。

是否有任何建议通过RabbitMQ来减少内存使用,或限制Erlang将创建的线程数? 我相信Erlang正在使用30个线程,基于我在process命令中看到的-A30标志。

理想情况下,我希望RabbitMQ内存使用率低于100mb。

编辑:

使用 vm_memory_high_watermark 设置为5%(在配置文件中为0.05),RabbitMQ日志报告RabbitMQ的内存限制设置为51mb。 我不确定51mb的来源。 当前VPS分配的内存为924mb,所以其中的5%应该在46mb左右。

根据htop / free的信息,在启动RabbitMQ之前,我坐着453mb的旧ram,在启动RabbitMQ之后,我约为650mb。 增加近200mb。 [RabbitMQ]运行的下限可能是200mb吗?

编辑2

以下是在启动RabbitMQ之前和之后ps aux的一些屏幕截图和免费的屏幕快照,以及显示RabbitMQ为 开始。

编辑3

我也检查了是否未启用任何插件,它的作用很小。 看来我拥有的插件(管理及其先决条件)仅增加了约8mb的ram使用情况。

编辑4

我不再具有要测试的服务器,但是,有一个conf设置 delegate_count [ ,默认设置为16。据我所知,这会为Rabbitmq生成16个sup-proc。 在较小的服务器上降低此数目可能有助于减少内存占用。 不知道这是否真的有效,或者它如何影响性能,但这是可以尝试的方法。

27
задан Alex Jillard 22 December 2011 в 17:54
поделиться

1 ответ

Подходящим способом ограничения использования памяти в RabbitMQ является использование vm_memory_high_watermark. Вы сказали:

Я также пытался установить для vm_memory_high_watermark несколько других значений ниже значения по умолчанию (40%), даже до 5%.

Этот должен работать, но он может вести себя не так, как вы ожидаете. В журналах вы найдете строку, которая сообщает вам, каков абсолютный предел памяти, что-то вроде этого:

=INFO REPORT==== 29-Oct-2009::15:43:27 ===
Memory limit set to 2048MB.

Вам необходимо настроить ограничение памяти по мере необходимости - Кролик может видеть вашу систему как иметь гораздо больше оперативной памяти, чем вы думаете, если вы работаете в среде VPS.

Иногда Rabbit не может определить, в какой системе вы находитесь, и использует 1 ГБ в качестве базовой точки (поэтому вы получаете ограничение в 410 МБ по умолчанию).

Также убедитесь, что вы работаете в версии RabbitMQ, которая поддерживает настройку vm_memory_high_watermark - в идеале вы должны работать с последней стабильной версией.

9
ответ дан 28 November 2019 в 05:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: