У мене виникають проблеми з rabbitmq 2.8.5. Є 3 черги, на які публікуються повідомлення, і вони споживаються відносно швидко. Отже, черги зовсім не великі. Для кожної черги є 3 обміну. Разом з тим пам'ять на кролику mq продовжує зростати.
Я спробував запустити дві різні команди, щоб зрозуміти, що відбувається з пам'яттю, але rabbitmq буде зависати, коли я запустити їх.
rabbitmqctl eval "[[{pid, R}, M | process_info(R)] || {M, R} <-
lists:sublist(lists:reverse(lists:sort([{process_info(P, memory), P} ||
P <- erlang:processes()])), 10)]."
"lists:sublist(lists:reverse(lists:sort([{process_info(Pid,memory), Pid,
sys:get_status(Pid,infinity)} || Pid <- [element(7, Q) || Q <-
rabbit_amqqueue:list()]])), 10)."
Потім я спробував спостерігати використання пам'яті на erlang VM, що rabbitmq працює і це 9235 (я думаю, його в байтах).
Отже, якщо черги та обміни не великі, а Ерланг Рам набагато нижче, ніж у кролика, що може бути причиною?
Оскільки використання пам'яті продовжує рости, зрештою досягає максимальної кількості водяних знаків пам'яті і більше не може бути публікації.
Відповіді:
0 для відповіді № 1Можливо, вам слід перевірити розмір вашого повідомлення як корисне навантаження. Всі повідомлення будуть зберігатися в пам'яті.
Якщо він занадто великий, краще переробити повідомлення.