Как часто перезагружать малину и нужно ли вообще

19

Если у вас есть малина в каком-то месте, и она должна запускать скрипт на python «навсегда» (год, может, два, а я не на месте), как часто я должен перезагрузить ее? Я знаю, что люди поддерживают их в течение года +, но я написал простой скрипт, который может перезагрузить его в определенное время + raspberry автоматически запустит скрипт python при загрузке.

Рок Долинар
источник
1
Зачем перезагружаться, если не нужно? Есть моменты, когда перезагрузка может потребоваться, например, обновления системы. но если это не автоматизировано, я бы не перезагрузился. Перезагрузка не свободна от риска того, что система не перезагрузится успешно.
Стив Робиллард
У того, на котором я работаю 24 часа в сутки, время работы составляет 67 дней, что, вероятно, не является чем-то необычным. Я только перезагрузить его с целью. Как говорит Стив, зачем это делать без всякой цели?
Златовласка
4
В контексте ИТ-поддержки вы, вероятно, имеете в виду «в 90%» проблем, которые помогает перезагрузка. Вы не будете звонить клиенту наугад и говорить ему, чтобы он перезагрузился сейчас на всякий случай;)
Златовласка
1
24/7 регистрация данных в Arch, текущее время безотказной работы 260 d. Обычно перезагрузка приводит к неприятностям;)
Ганима
2
Просто проверьте ваши логи и другие растущие файлы: logrotate сделает это. SD-карты имеют ограниченный срок службы при высокой загруженности диска, возможно, переместить / root, чтобы использовать внешний вращающийся диск. Я добавил мигающий светодиод, синхронизированный с cron, и красный, который светится, когда на диске мало места, и другой, который горит при некоторой информации журнала безопасности, обрезав rsyslog до минимума.
FCC

Ответы:

25

У меня есть пара Pis, использующих мой ретранслятор Ham Radio и систему орошения - реально, я перезагружаю их, возможно, раз в 6 месяцев для обновлений безопасности или по какой-либо другой причине «обслуживания»; но я не видел проблем, когда требовалась перезагрузка, чтобы "поддерживать работу"

N7QNM
источник
25

Что касается аппаратного обеспечения , единственная причина, по которой вам когда-либо потребуется перезагрузить плату ARMHF-y, - это изменения прошивки, необходимые изменения в ПЗУ или, возможно, новые устройства, которые должны присутствовать при загрузке.

Например, добавление драйвера или модуля ядра, близкого к металлическому, и устройства, реализующего этот драйвер, вероятно, потребует перезагрузки, просто чтобы сообщить процессору и картографу памяти ядра об этом изменении. Вы можете обновить ядро ​​Linux без перезагрузки .

С точки зрения программного обеспечения , все основные вычислительные среды, доступные для Pi, * nix-like 1 , в том смысле , что они True Unix ™ или в том, что они используют Linux или производную Linux и, следовательно, (U) nix-y.

Unix и его производные разрабатываются от загрузчика до пользовательского пространства, чтобы быть полностью масштабируемыми, переносимыми и надежными; они были разработаны для серверов, которые никогда или почти никогда не подвергаются аппаратному сбросу (то есть полностью отключаются и загружаются с нуля с нуля), и, в меньшей степени, встроенным устройствам, таким как Raspberry Pis. Следовательно, эти цели действительно применимы к Пи.

На практике это означает, что вам практически никогда не нужно перезагружать свой Pi (или настольный ПК * nix, если на то пошло).


1 На мгновение не обращая внимания на Microsoft Windows 10: издание Internet Of Things Edition для Pi, которое я хотел бы назвать практической шуткой, но это не так.

Кот
источник
2
Спасибо за ваш 2с, он очень помог, теперь я уверен, что никогда не перезагружу свой PI.
Рок Долинар
Обновления модулей ядра / устройства - единственные вероятные причины необходимости перезагрузки, если аппаратное обеспечение не меняется - и в эти дни становится возможным менять модули без перезапуска, если я правильно понимаю вещи.
SlySven
@SlySven, вы можете менять модули без перезагрузки, просто не надейтесь на то, что они полностью функционируют и не разрушают
cat
1
Перезагрузите NT один раз в месяц? Как ты это придумал ?!
Макс Райд
1
@ pjc50 Ух ты, не знал, что для него были более свежие релизы. Хотя я ошибался в этом, я знаю, что Win10 IoT - это то же ядро, что и Win10, а не CE :)
Мэтью Стиплз
3

При использовании встроенных систем «навсегда» периодические перезагрузки не нужны. Обычно для обнаружения зависания и перезагрузки системы используется аппаратный сторожевой таймер. Я считаю, что сторожевой таймер более ценен, чем периодическая перезагрузка (перезагрузка, вероятно, не будет работать, если система зависла).

Чад Фармер
источник
0

Я согласен с вещами, написанными ранее. В теоретической ситуации с превосходно написанным программным обеспечением с идеальной обработкой ошибок, без утечек памяти ... перезагрузка не понадобится.

У меня есть более 50 PI (все PI 3) на сайте, и некоторые перезагружаются еженедельно, а другие никогда ... Почти все PI используются в режиме киоска, либо для воспроизведения видео, отображения веб-сайта, запуска сценариев, ... Опыт пользователя важен для меня, и я не могу позволить себе потерять ПИ. У меня установлен сторожевой таймер на всех них.

На моем сайте я использую следующий подход (это только мой собственный опыт, без научной подготовки :-))

  • PI, которые работают на серверах (Apache, SIP, ...) и подключены только с помощью кабеля Ethernet: я никогда не перезагружаю их, некоторые из них работают без перебоев почти 2 года (на самом деле, я их не обновлял)!

  • Напротив, PI, которые запускают видеолупы (используя OMXPlayer): я перезагружаю эти устройства еженедельно. Я пытался их вообще не перезагружать, но обнаружил, что иногда видео зависает, даже не замечая сторожа. Таким образом, можно увидеть неподвижное изображение на экране. Я бы сказал, что в течение одного месяца - для каждого из устройств - примерно 50% вероятности того, что видео будет зависать один раз. Чтобы минимизировать эти риски, я решил перезагружаться один раз в неделю, и результаты приемлемы: так далеко после года еженедельных перезагрузок у меня было только 2 зависания (замораживание изображения, без замораживания PI). Конечно, я бы тоже хотел их устранить, но это уже другая тема. Для тех, кого не волнует влияние перезагрузки на SD-карту, поскольку, если это когда-нибудь произойдет, это просто установка новой SD-карты и обновление шаблона с нужным видео.

  • PI, которые находятся в режиме клиента и отображают веб-контент пользователя (используя Chromium, KWeb, ...) с взаимодействием с пользователем (главным образом, с сенсорными экранами и / или кнопками): я перезагружаю их каждый месяц, и до сих пор не было никаких проблем. Возможно, не нужно было их перезагружать ... но, учитывая, что эти устройства запускают скрипты (Java, Node.js) и получают данные от других устройств, я подумал, что в какой-то момент может потребоваться перезагрузка, поэтому я решил пойти на ежемесячную перезагрузка.

Я понимаю, что это не дает прямого ответа на ваш вопрос, но я просто хотел поделиться личным опытом, чтобы вы могли - вместе с другими ответами - судить, каков будет наилучший подход для вашего проекта.

pieterdp
источник