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.
19
Odpowiedzi:
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”
źródło
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.
źródło
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).
źródło
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.
źródło