После обновления на последнюю доступную версию mosquitto стала утекать память. Никаких других изменений в конфигурации контроллера не было. После того, как mosquitto упирается в лимит, отключаются MQTT-клиенты, и всё перестаёт работать. После этого иногда mosquitto падает, перезагружается (с артефактами чтения неактуальных сохранённых значений топиков) и начинает сначала.
Причина в следующем: некоторые клиенты переподключаются к брокеру каждый раз с новым случайным именем (Client ID). На вашем контроллере так ведёт себя штатная служба wb-cloud-agent-metrics — она переподключается примерно раз в две минуты, каждый раз под новым идентификатором. mosquitto удерживает в памяти состояние по каждому такому клиенту, и за счёт этого heap монотонно растёт, пока не упрётся в лимит, после чего брокер сбрасывает клиентов с ошибкой out of memory и перезапускается. Именно это вы и наблюдаете.
Это уже известная нам проблема, она заведена как баг и передана разработчикам. Отдельные действия с вашей стороны для диагностики больше не требуются — спасибо за подробные данные, они помогли подтвердить причину.
На время до выхода исправления можно оставить увеличенный лимит памяти в 30limits.conf как временную меру — на работу это не влияет, только откладывает перезапуск брокера.
Как только по исправлению появятся новости, сообщим в этой теме.
Да, остановить можно. Утечку вызывает служба сбора метрик wb-cloud-agent-metrics — достаточно остановить её. Это остановит только отправку телеметрии в облако Wiren Board (графики в личном кабинете).
Обращаю внимание, если остановите все службыwb-cloud-agent-* , то удалённый доступ к контроллеру через wirenboard.cloud потеряете.