Если у вас есть малина в каком-то месте, и она должна запускать скрипт на python «навсегда» (год, может, два, а я не на месте), как часто я должен перезагрузить ее? Я знаю, что люди поддерживают их в течение года +, но я написал простой скрипт, который может перезагрузить его в определенное время + raspberry автоматически запустит скрипт python при загрузке.
19
Ответы:
У меня есть пара Pis, использующих мой ретранслятор Ham Radio и систему орошения - реально, я перезагружаю их, возможно, раз в 6 месяцев для обновлений безопасности или по какой-либо другой причине «обслуживания»; но я не видел проблем, когда требовалась перезагрузка, чтобы "поддерживать работу"
источник
Что касается аппаратного обеспечения , единственная причина, по которой вам когда-либо потребуется перезагрузить плату 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, которое я хотел бы назвать практической шуткой, но это не так.
источник
При использовании встроенных систем «навсегда» периодические перезагрузки не нужны. Обычно для обнаружения зависания и перезагрузки системы используется аппаратный сторожевой таймер. Я считаю, что сторожевой таймер более ценен, чем периодическая перезагрузка (перезагрузка, вероятно, не будет работать, если система зависла).
источник
Я согласен с вещами, написанными ранее. В теоретической ситуации с превосходно написанным программным обеспечением с идеальной обработкой ошибок, без утечек памяти ... перезагрузка не понадобится.
У меня есть более 50 PI (все PI 3) на сайте, и некоторые перезагружаются еженедельно, а другие никогда ... Почти все PI используются в режиме киоска, либо для воспроизведения видео, отображения веб-сайта, запуска сценариев, ... Опыт пользователя важен для меня, и я не могу позволить себе потерять ПИ. У меня установлен сторожевой таймер на всех них.
На моем сайте я использую следующий подход (это только мой собственный опыт, без научной подготовки :-))
PI, которые работают на серверах (Apache, SIP, ...) и подключены только с помощью кабеля Ethernet: я никогда не перезагружаю их, некоторые из них работают без перебоев почти 2 года (на самом деле, я их не обновлял)!
Напротив, PI, которые запускают видеолупы (используя OMXPlayer): я перезагружаю эти устройства еженедельно. Я пытался их вообще не перезагружать, но обнаружил, что иногда видео зависает, даже не замечая сторожа. Таким образом, можно увидеть неподвижное изображение на экране. Я бы сказал, что в течение одного месяца - для каждого из устройств - примерно 50% вероятности того, что видео будет зависать один раз. Чтобы минимизировать эти риски, я решил перезагружаться один раз в неделю, и результаты приемлемы: так далеко после года еженедельных перезагрузок у меня было только 2 зависания (замораживание изображения, без замораживания PI). Конечно, я бы тоже хотел их устранить, но это уже другая тема. Для тех, кого не волнует влияние перезагрузки на SD-карту, поскольку, если это когда-нибудь произойдет, это просто установка новой SD-карты и обновление шаблона с нужным видео.
PI, которые находятся в режиме клиента и отображают веб-контент пользователя (используя Chromium, KWeb, ...) с взаимодействием с пользователем (главным образом, с сенсорными экранами и / или кнопками): я перезагружаю их каждый месяц, и до сих пор не было никаких проблем. Возможно, не нужно было их перезагружать ... но, учитывая, что эти устройства запускают скрипты (Java, Node.js) и получают данные от других устройств, я подумал, что в какой-то момент может потребоваться перезагрузка, поэтому я решил пойти на ежемесячную перезагрузка.
Я понимаю, что это не дает прямого ответа на ваш вопрос, но я просто хотел поделиться личным опытом, чтобы вы могли - вместе с другими ответами - судить, каков будет наилучший подход для вашего проекта.
источник