Я пытаюсь запустить RabbitMQ на небольшом VPS (512 МБ ОЗУ) вместе с Nginx и несколькими другими программами.Я смог без проблем настроить использование памяти для всего остального, но я не могу заставить RabbitMQ использовать меньше оперативной памяти.
Я думаю, что мне нужно уменьшить количество потоков, которые Эрланг использует для RabbitMQ, но я не смог заставить его работать.Я также попытался установить для vm_memory_high_watermark
несколько других значений ниже значения по умолчанию (40%), даже до 5%.
Часть проблемы может заключаться в том, что поставщик VPS (MediaTemple)позволяет мне использовать мою выделенную память, поэтому при использовании free или top он показывает, что на сервере имеется около 900 МБ.
Любые предложения по сокращению использования памяти RabbitMQ или ограничению количества потоков, создаваемых Erlang.?Я считаю, что Эрланг использует 30 потоков, основываясь на флаге -A30, который я видел в команде процесса.
В идеале я хотел бы, чтобы использование mem RabbitMQ было ниже 100 МБ.
Редактировать:
Если для vm_memory_high_watermark
установлено значение 5% (или 0,05 в файле конфигурации), журналы RabbitMQ сообщают, что ограничение памяти RabbitMQ установлено на 51 МБ.Я не уверен, откуда приходит 51mb.Текущая выделенная память VPS составляет 924 МБ, поэтому 5% из этого должно быть около 46 МБ.
В соответствии с htop / free до запуска RabbitMQ я сижу около 453 МБ ОЗУ, а после запуска RabbitMQ яоколо 650мб.Увеличение почти 200 МБ.Может ли быть так, что 200 МБ - это нижний предел, с которым будет работать RabbitMQ?
Редактировать 2
Вот некоторые скриншоты из PS Aux и бесплатнодо и после запуска RabbitMQ и график, показывающий скачок памяти при запуске RabbitMQ.
Редактировать 3
Я также проверил без включенных плагинов, и он сделал очень малоразница.Кажется, что плагины, которые у меня были (управление и его предварительные условия), добавили только около 8 МБ оперативной памяти.
Редактировать 4
У меня больше нет сервера для тестирования,однако есть настройка conf delegate_count
, которая по умолчанию установлена в 16. Насколько я знаю, это порождает 16 sup-procs для rabbitmq.Уменьшение этого числа на небольших серверах может помочь уменьшить объем используемой памяти.Не знаю, работает ли это на самом деле или как это влияет на производительность, но стоит попробовать.