Jak często restartować malinę i czy to nawet konieczne

19

Jeśli masz malinę w jakiejś lokalizacji i musi ona uruchamiać skrypt Pythona „na zawsze” (rok, może dwa, bez mojej lokalizacji), jak często powinienem go restartować? Wiem, że ludzie utrzymują ich przy życiu przez ponad rok, ale napisałem prosty skrypt, który może go zrestartować w danym momencie + malina automatycznie uruchomi skrypt Pythona podczas rozruchu.

Rok Dolinar
źródło
1
Po co restartować, jeśli nie potrzebujesz? Są chwile, kiedy na przykład może być konieczne ponowne uruchomienie systemu. ale jeśli nie zostanie to zautomatyzowane, nie uruchomię się ponownie. Ponowne uruchomienie nie jest wolne od ryzyka, że ​​system nie uruchomi się ponownie pomyślnie.
Steve Robillard,
Ten, który prowadzę 24/7, ma teraz dostępność 67 dni, co prawdopodobnie nie jest niczym niezwykłym. Ponownie uruchamiam go tylko w określonym celu. Jak mówi Steve, dlaczego to zrobić bez żadnego celu?
Złotowłosa
4
W kontekście wsparcia IT prawdopodobnie masz na myśli „w 90%” problemów, które pomaga ponowne uruchomienie. Nie zadzwoniłbyś do klienta losowo i nie powiedziałbyś mu, żeby zrestartował się teraz na wszelki wypadek;)
goldilocks
1
Rejestracja danych 24/7 na Arch, aktualny czas pracy 260 d. Zwykle restartowanie prowadzi do kłopotów;)
Ghanima
2
Po prostu sprawdź swoje dzienniki i inne rosnące pliki: zrobi to Logrotate. Karty SD mają ograniczoną żywotność przy dużym obciążeniu dysku, być może należy przenieść / rootować, aby użyć zewnętrznego napędu spinningowego. Dodałem migającą diodę zsynchronizowaną z cronem i czerwoną, która świeci, gdy jest mało miejsca na dysku, a inna, która świeci w niektórych informacjach dziennika bezpieczeństwa, skróciła rsyslog do min.
fcm

Odpowiedzi:

25

Mam kilka pisków z moim wzmacniaczem i systemem nawadniającym Ham Radio - realistycznie, restartuję je może raz na 6 miesięcy w celu aktualizacji zabezpieczeń lub z innego powodu „konserwacji”; ale nie widziałem problemów, w których WYMAGANE było ponowne uruchomienie komputera, aby „utrzymać działanie”

N7QNM
źródło
25

Jeśli chodzi o sprzęt , jedynym powodem, dla którego powinieneś kiedykolwiek potrzebować ponownego uruchomienia płyty ARMHF-y, są zmiany oprogramowania układowego, niezbędne zmiany w pamięci ROM lub ewentualnie nowe urządzenia, które muszą być obecne podczas rozruchu.

Na przykład dodanie sterownika lub modułu jądra zbliżonego do metalu i urządzenia implementującego ten sterownik prawdopodobnie będzie wymagać ponownego uruchomienia, aby poinformować procesor i moduł mapujący pamięć jądra o zmianie. Możesz zaktualizować jądro Linuksa bez ponownego uruchamiania .

Pod względem oprogramowania wszystkie główne środowiska komputerowe dostępne dla Pi są * nix-podobne 1 , w tym sensie , że są True Unix ™ lub w tym, że używają Linuksa lub pochodnej Linuksa, a zatem są (U) nix-y.

Unix i jego pochodne są zaprojektowane od bootloadera aż po obszar użytkownika, aby były w pełni skalowalne, przenośne i niezawodne; Zostały zaprojektowane z myślą o serwerach, które nigdy lub prawie nigdy nie są poddawane twardemu resetowaniu (czyli całkowicie zamykane i uruchamiane od zera na zimno), a także, w mniejszym stopniu, urządzeniach osadzonych dokładnie tak, jak Raspberry Pis. W związku z tym cele te rzeczywiście dotyczą Pi.

Oznacza to w praktyce, że w zasadzie nigdy nie musisz ponownie uruchamiać komputera Pi (lub komputera stacjonarnego * nix).


1 Przez chwilę ignoruję Microsoft Windows 10: Internet Of Edition Edition dla Pi, który chciałbym być praktycznym żartem, ale nim nie jest.

kot
źródło
2
Dziękuję za 2c, bardzo mi pomogło, teraz jestem pewien, że nigdy nie zrestartuję mojego PI.
Rok Dolinar
Uaktualnienia modułów jądra / urządzeń są jedynymi prawdopodobnymi przyczynami konieczności ponownego uruchomienia komputera, jeśli sprzęt się nie zmienia - i jest możliwa zmiana modułów bez ponownego uruchamiania, jeśli dobrze rozumiem.
SlySven,
@SlySven ty może zmienić moduły bez restartu, po prostu nie polegać na nich jest w pełni funkcjonalny i prawidłowo nieniszczące
kot
1
Zrestartować NT raz w miesiącu? Jak to wymyśliłeś ?!
Max Ried
1
@ pjc50 Wow, nie zdawałem sobie sprawy, że pojawiły się nowsze wersje. Chociaż się myliłem, wiem, że Win10 IoT to ten sam rdzeń co Win10, a nie CE :)
Matthew Steeples
3

Dzięki wbudowanym systemom „działającym na zawsze” okresowe ponowne uruchamianie nie jest konieczne. Często używa się sprzętowego timera nadzorującego, aby wykryć zawieszenie i ponowne uruchomienie systemu. Uważam, że licznik czasu watchdoga jest cenniejszy niż okresowe ponowne uruchamianie (ponowne uruchomienie prawdopodobnie nie zadziała, jeśli system zostanie zawieszony).

Chad Farmer
źródło
0

Zgadzam się z rzeczami napisanymi wcześniej. W teoretycznej sytuacji z doskonale napisanym oprogramowaniem z doskonałą obsługą błędów, bez wycieków pamięci ... ponowne uruchomienie nie będzie konieczne.

Mam na stronie ponad 50 PI (wszystkie PI 3), a niektóre są ponownie uruchamiane co tydzień, a inne nigdy ... Prawie wszystkie PI są używane w trybie kiosku, albo odtwarzają filmy, wyświetlają stronę internetową, uruchamiają skrypty, ... Doświadczenie użytkownika jest dla mnie ważne i nie mogę sobie pozwolić na niepowodzenie PI. Mam na wszystkich z nich zainstalowany system nadzoru.

Na mojej stronie używam następującego podejścia (to tylko z własnego doświadczenia, bez wiedzy naukowej :-))

  • PI, które obsługują serwery (Apache, SIP, ...) i są połączone tylko kablem ethernetowym: nigdy ich nie restartuję, niektóre z nich mają nieprzerwany czas pracy prawie 2 lata (zresztą ich nie uaktualniłem)!

  • wręcz przeciwnie, PI, które uruchamiają wideopojemniki (używając OMXPlayer): Co tydzień restartuję te urządzenia. Próbowałem ich wcale nie uruchamiać ponownie, ale odkryłem, że od czasu do czasu wideo zawiesza się, nawet watchdog nawet tego nie zauważa. Tak więc na ekranie widać nieruchomy obraz. Powiedziałbym, że w ciągu jednego miesiąca - dla każdego z urządzeń - było około 50% szansy, że wideo zamrozi się raz. Aby zminimalizować ryzyko, postanowiłem ponownie uruchomić komputer raz w tygodniu, a wyniki są do przyjęcia: więc daleko po roku cotygodniowych restartów miałem tylko 2 stopklatki (zatrzymanie obrazu, brak zatrzymania PI). Oczywiście chciałbym je również wyeliminować, ale to kolejny temat. Dla tych, nie dbam o wpływ restartu na kartę SD, ponieważ jeśli tak się zdarzy, po prostu wkłada nową kartę SD i aktualizuje szablon odpowiednim filmem.

  • PI, które są w trybie klienta i wyświetlają treści użytkownika (przy użyciu Chromium, KWeb, ...) z interakcją użytkownika (głównie ekrany dotykowe i / lub przyciski): restartuję je co miesiąc i jak dotąd nie miałem żadnych problemów. Może nie trzeba było ich ponownie uruchamiać ... ale biorąc pod uwagę, że na tych urządzeniach uruchamiane są skrypty (Java, Node.js) i uzyskiwane dane z innych urządzeń, pomyślałem, że w pewnym momencie może być konieczne ponowne uruchomienie, więc postanowiłem wybrać miesięczny restart.

Zdaję sobie sprawę, że nie daje to bezpośredniej odpowiedzi na twoje pytanie, ale chciałem tylko podzielić się osobistym doświadczeniem, abyś mógł - razem z innymi odpowiedziami - ocenić, jakie byłoby najlepsze podejście do twojego projektu.

pieterdp
źródło