Буфер пакетов pyModbusTCP, когда никакое соединение не потребляет памятьLinux

Ответить
Anonymous
 Буфер пакетов pyModbusTCP, когда никакое соединение не потребляет память

Сообщение Anonymous »

У меня есть рабочий код, который я использую для отправки команд ModbusTCP на устройство, которое может их читать и выполнять действия. Когда с сетью все в порядке, она работает как положено. Но если соединение не работает, пакеты сохраняются и буферизуются где-то в буферах pyModbusTCP или Linux (на основе Debian 9), а когда соединение восстанавливается, пакеты сбрасываются, вызывая непредвиденное поведение.Еще одна вещь, которую я заметил, это то, что буфер съедает оперативную память, и в конечном итоге у меня заканчивается (хотя на машине всего 256 МБ).
Скрипт Python, который генерирует команды ModbusTCP запускаются каждую минуту через crontab, и существует ок. 10 секунд после запуска, пока он не начнется снова. Есть ли способ в это время очистить буфер либо от команд Linux, либо от самого скрипта Python?
Я попробовал установить для параметра автоматического закрытия значение True:

Код: Выделить всё

mb_client = ModbusClient(host=host, auto_open=True, auto_close = True, port=port, debug=False)
Но буферизация все равно происходит.

Подробнее здесь: https://stackoverflow.com/questions/784 ... ats-memory
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»