У меня есть маршрутизатор WRT160NL linksys с 32 МБ ОЗУ и установленным OpwnWRT. У меня есть приложение, которое выполняет тяжелую запись для записи файлов на USB-флешку. (в основном 26 МБ в день, что почти столько же, сколько памяти роутера).
Я засвидетельствовал, что маршрутизатор перезагружается сам каждые 24 часа или около того. После мониторинга различных системных параметров в маршрутизаторе я заметил, что параметр Buffers в /proc /meminfo неуклонно снижался с 3 кБ до примерно 700 Б в течение дня, пока он не перезагрузился. Кроме того, параметр SUnreclaim постоянно увеличивается с 8 до 13 тысяч в течение этих 24 часов. Оба эти параметра возвращаются к 3k и 8k соответственно после перезагрузки.
Итак, я заметил, что маршрутизатор перезагружается, когда параметр Buffers достигает порогового значения 700B, а SUnreclaim достигает порогового значения 13k. В этот момент средняя нагрузка начинает постепенно увеличиваться, пока не достигнет точки, в которой она должна перезагрузить себя. Я предполагаю, что уменьшение параметра Buffers связано с увеличением параметра SUnreclaim.
Итак, я уже пытался очистить кэш, чтобы освободить память (синхронизация; echo 3> /proc /sys /vm /drop_cache), но это не приносит пользы, но задерживает проблему на очень небольшой период время. Я также пытался настроить некоторые переменные, связанные с памятью, в /proc /sys /vm /, но с небольшим или нулевым результатом (SUnreclaim продолжает расти независимо от того, что я делаю - и я все еще пробую некоторые альтернативные настройки).
Дело в том, что когда я запускаю роутер без приложения, все эти параметры остаются неизменными в течение дня, и роутер вообще не перезагружается!
Кроме того, когда я отключаю некоторые записи (которые сделаны через каналы и перенаправления в bash-скрипте), снижение меньше обычного (для перезагрузки требуется 4 дня вместо 1).
Таким образом, я предполагаю, что проблема связана с неисправимой памятью. Интерпретируя название "Unreclaimable", я предполагаю, что эта память хранится в ядре и никогда не будет снова доступна для уровня пользователя, а это означает, что у меня все меньше и меньше памяти доступно в течение нескольких часов в системе, для которой уже очень мало памяти. ...
Там очень мало информации о том, что такое память о невосстановимом слэбе и почему это происходит. Если бы вы могли объяснить это, я был бы признателен.
Может кто-нибудь помочь мне понять, в чем может быть проблема? Или как я могу остановить эти отклонения / увеличения, вызывающие перезагрузку маршрутизатора?
Извините за завет. Заранее спасибо.