Зависание wb5 на wheezy


#1

Добрый день!
Столкнулся с пролемой. На объекте завис контроллер. Сам не перезагрузился, watchdog не сработал. Ошибка:
0 pages highmem/movableonly

Конфиг watchdog:

# Use GPIO watchdog
watchdog-device         = /dev/watchdog1

# Defaults compiled into the binary
admin                   = 
interval                = 1
logtick                 = 1
log-dir                 = /var/log/watchdog

# This greatly decreases the chance that watchdog won't be scheduled before
# your machine is really loaded
realtime                = yes
priority                = 1

# Test if /var/log/messages is accessible
file                    = /var/log/messages

# Test if there at least 1MB of memory (256 pages)
min-memory              = 256

# Test if vital daemons are running
pidfile         = /var/run/syslogd.pid 
pidfile         = /var/run/sshd.pid
pidfile         = /var/run/mosquitto.pid
pidfile         = /var/run/nginx.pid

# Timeout for all tests
retry-timeout           = 30

# Put other test/repair scripts to this dir
test-directory          = /etc/watchdog.d
test-timeout            = 30

По идее, строка min-memory = 256 должна решать проблему, но судя по логу контроллер не перезагрузился.
Не сталкивались с подобным? Что не так с конфигом?

messages.txt (2.9 МБ)

Контроллер wb5 на wheezy.


#2

это откуда?

Я не уверен на 100%, но, кажется, min-memory не следит за фрагментацией памяти. Т.е. может быть такая ситуация, что свободная оперативная память формально есть, но выделить последовательный кусок такого размера ваше ПО не сможет.

Очень рекомендую использовать watchdog в режиме проверки вашей бизнес-логики. Т.е. писать кастомную проверку, которая проверяет работоспособность именно вашего ПО и вашей инсталляции. Это может быть доступность сервера, поступление данных, чтение с сервера статуса о том, что по мнению сервера с контроллером всё ок и т.п.


#3

Собственно вот тут https://www.crawford-space.co.uk/old_psc/watchdog/watchdog-configure.html есть сочинение про тесты памяти в watchdog.