WirenBoard 6 наглухо зависает NodeRed

Доброго времени суток! Имеется контроллер WirenBoard 6 (6.7.2E 456) на него установлен nodered 2.2 по средствам которого развернут dashboard и homekit, в общем ничего сверх естественного. НО почему то контроллер перегревается и зависает (температура 80+) загрузка цп 95-100% озу 90-100%, зависает так что даже по ssh не подключиться к нему. Я правильно понимаю то, что контроллер 6-й версии предназначен только для работы на своем стандартном ПО?


Безымянный

Для используемого процессора температура вполне допустимая. Нет, на WB6 можно использовать любое ПО, в том числе и homekit
Но нагрузка в 100% - ненормальна.

Добрый день! Аналогичная проблема с контроллером wb6 6.72, wb-2207. Установлен zigbee2mqtt, Node-RED v.3.0.1 с модулями node-red-contrib-alice, node-red-contrib-bigtimer, node-red-contrib-cpu, node-red-contrib-homekit-bridged, node-red-contrib-os, node-red-contrib-telegrambot, node-red-contrib-time-range-switch, node-red-contrib-wirenboard, node-red-contrib-yandex-alice-command, node-red-contrib-yandex-station-management, node-red-contrib-zigbee2mqtt, node-red-dashboard. Раз-два в сутки контроллер отказывается взаимодействовать с внешним миром: Node-RED не отвечает (“Потеряно соединение с сервером, переподключение…”), Web интерфейс недоступен, SSH работает очень медленно, это может продолжаться 30 минит и 1 час, иногда руками приходится перегружать. Во время таких простоев KiB Swap free = 0 и появляются процессы kswapd0 и kworker

NR как я вижу занимает 72% RAM.
Нормально работающий столько занимать не может.

Именно поэтому мы не устанавливаем это ПО на контроллер по-умолчанию, так как очень, очень много дополнительных модулей от разных разработчиков. Они могут течь, могут вызывать ошибки.
Что можно посоветовать? Как полумера - отключить все и проверить, включая по одному и контролируя в течении суток, например, потребление ресурсов.
Более верный: Тщательно изучить исходники всех используемых модулей, отдебажить их (проще уж написать свои).
Ну и возможны ситуации когда течь начинает только при сочетании нескольких условий.

Понял. Спасибо. Нехватка памяти. На какой контроллер посоветуете переехать? 1/8 или с запасом 2/64?

Если из-за ошибок в сторонних програмах течёт память, и 512MB в WB6 кончились за день, то 2GB в WB7 кончатся за 4 дня.

Отлично. Спасибо. Подскажите пожалуйста, какая команда дает более расширенное представление о процессах памяти. Буду разбираться. Может быть понизить версию Node RED?

upd. Версию Node RED до 2.2. понизил, не помогло, буду искать течь.

Можно использовать htop предварительно установив его apt install htop -y
Но знание потребления памяти потоками node - бесполезны, так как нельзя связать поток с выполняемым модулем.

Понижение версии - точно не поможет, “простой” способ - это отключить все и включать по одному, контролируя потребление ресурсов.

На это дополнение обратите внимание.
Если хочется быстрого результата, то надо удалить все, что с этим связано. У меня было тоже самое, это дополнение кушало память как не в себя и ЦП грузило. В чате Telegram: Contact @SprutAI_NodeRED поднимал вопрос уже давно. Telegram: Contact @SprutAI_NodeRED вот здесь примерно идет обсуждение, можно почитать немного истории до и после.
Я от него в итоге отказался, хотя и перенес на отдельный сервер, но все-равно падало периодически. Это было довольно давно, в районе года назад, может сейчас ситуация поменялась

1 лайк

Да, можно, как вариант, засунуть в докер и контролировать потребление памяти контейнером с целью перезапуска. Такое себе решение, конечно.

Недавно обнаружил у себя, что ноды wirenboard из node-red-contrib-wirenboard загружали NodeRed по памяти. Пришлось отказаться от этого плагина и перейти на ноды mqtt-in-out. Загрузка памяти нормализовалась.

1 лайк

Эта тема была автоматически закрыта через 7 дней после последнего ответа. В ней больше нельзя отвечать.