Właściwie miałem system Linux (z systemem Ubuntu 12.04.3) przez kilka dni bez restartu. Natknąłem się na niektóre błędy, takie jak zawieszanie się uśpienia, a niektóre systemy plików montowane w sieci nie uzyskują nawet możliwości pingowania go (zweryfikowano na innym komputerze, połączenie sieciowe działało dobrze).
Chciałem sprawdzić, czy Linux wymaga również ponownego uruchomienia komputera po pewnym czasie, aby uniknąć tego typu błędów, które nie są powtarzalne.
Jaki jest maksymalny czas na utrzymanie komputera? Czy są jakieś inne problemy, które mogłyby wystąpić, gdyby system działał przez rok lub dłużej bez restartu?
Odpowiedzi:
Pracując jako administrator systemu, widzę, że serwery Linux działają przez ponad 700-800 dni bez restartu, więc nie ma żadnych ograniczeń dostępności; otrzymane błędy nie są związane z samym Linuksem (jądrem).
Wiele usług można zrestartować, a większość błędów można rozwiązać w systemach produkcyjnych.
źródło
Po pewnym czasie nie ma potrzeby technicznej ponownego uruchamiania komputera. Kopalnia działa od miesięcy (łącznie z aktualizacjami modułu jądra), z pewnymi zawieszeniami (do pamięci RAM i dysku) pomiędzy nimi.
Są sytuacje, w których
Mogą występować pewne problemy, które „pogarszają się” w czasie (np. Problemy ze sterownikami sprzętu, nieszczelne procesy), ale są one uważane za błędy i często można je naprawić za pomocą aktualizacji oprogramowania lub obejść przez ponowne załadowanie / ponowne uruchomienie tego konkretnego podsystemu (również patrz wyżej).
źródło
Chociaż jestem pewien, że istnieją serwery o wyższym czasie działania, przedstawiam następujące przykłady z jednego z moich jako przykład tego, co jest możliwe:
Ten serwer został zainstalowany wkrótce po tym, jak kontroler domeny został uruchomiony i nie został wyłączony. Do tej pory nadal szczęśliwie robił to, do czego był pierwotnie przeznaczony, a kiedy ten cel zostanie przeniesiony na inny serwer, umieszczę tam coś tylko w celu monitorowania czasu pracy i prawdopodobnie pozostanie, dopóki nie będę w stanie uzasadnić utrzymania go przy życiu już dłużej.
Dlatego myślę, że „Nie ma maksimum” jest zdecydowanie poprawną odpowiedzią.
źródło
Nie wiem, czy ma to wpływ na stabilność systemu, ale maksymalny czas działania pokazany w Ubuntu z jądrem 3.19-xx to
68,0962597349822
lata na komputerze 32-bitowym i292471208677,8627
lata na komputerze 64-bitowym.Jest tak, ponieważ bieżący czas pracy systemu, zwracany przez
sysinfo()
syscall, jest zwracany jako__kernel_long_t
typ , który jest zadeklarowany jakolong
w 32-bitowym jądrze i jakolong long
w 64-bitowym jądrze ;A
long
na komputerze 32-bitowym ma maksymalną wartość2147483647
;A
long long
na komputerze 64-bitowym ma maksymalną wartość9223372036854775807
;Robienie matematyki,
2147483647s
=68,0962597349822
lata i9223372036854775807s
=292471208677,8627
lata.Gdy wartość ta wzrośnie powyżej możliwości danego typu, nastąpi przepełnienie arytmetyczne i zostanie ona ustawiona na najmniejszą dopuszczalną wartość ze względu na jej typ (w obu przypadkach liczba ujemna): może to stanowić problem dla programów, które na niej polegają.
źródło
Byłem kiedyś w klasie z sysadminem, który twierdził, że ma serwer Linux, który działał bez restartów przez ponad dekadę. Nie ma nieodłącznego powodu, dla którego system musi być regularnie uruchamiany ponownie. Jest wymagany tylko w ograniczonych przypadkach, takich jak aktualizacje jądra.
FWIW, zwykle zostawiam komputer domowy z systemem Windows uruchomiony. Zwykle będzie działał dobrze przez kilka tygodni bez ponownego uruchamiania.
źródło
Linux (jądro) jest bardzo dobry w zwalnianiu zasobów po wyjściu programów. GNU / Linux, cały system operacyjny, ogólnie działa dobrze bez końca. Ponowne uruchomienie programów w przestrzeni użytkownika po ich aktualizacji jest ogólnie dobrym pomysłem i często najłatwiejszym sposobem na uzyskanie wszystkiego przy użyciu zaktualizowanej wersji
glibc
jest ponowne uruchomienie systemu.W systemach z błędami sterownika (zwykle błędy sterownika karty graficznej, wszystko inne jest zwykle bardzo solidne), czasami pojawia się dziwne zachowanie, które staje się dziwniejsze, jeśli nie uruchomisz się ponownie szybko. Jeśli zobaczysz OOPS jądra na swoim
dmesg
wyjściu, powinieneś zrestartować komputer, gdy tylko będzie to wygodne, i zgłoś to (lub google w poszukiwaniu innych osób z podobnymi problemami na podobnym sprzęcie, na wypadek, gdyby był to znany problem). Distros nie dostarczają najnowszych wersji deweloperskich stosu graficznego, więc czasami błąd jest już naprawiony, a twoja karta graficzna jest po prostu zbyt nowa, aby sterowniki w wersji dystrybucyjnej, którą prowadzisz, były stabilne. W takim przypadku poszukaj PPA ze zaktualizowanymi kompilacjami mesa / drm / xorg. (Nie jestem pewien, czy najlepszym wyborem do uruchomienia Ubuntu z najnowocześniejszym stosem graficznym jest ATM).W każdym razie, z wyjątkiem sterowników lub innych błędów jądra, Linux może działać w nieskończoność bez konieczności restartowania w celu wyczyszczenia fragmentacji pamięci lub czegokolwiek podobnego.
Mam router Linux / firewall / mailserver / shell box (P3 450MHz, OCed do 500MHz), który rutynowo widzi czasy przestoju setki dni. Zrestartowuję się tylko w celu zmiany kolejności kabli zasilających lub wymiany uszkodzonego zasilacza. Działa stabilnie z tym samym procesorem / pamięcią RAM / dyskami twardymi od prawdopodobnie 15 lat. Nigdy nie musiałem restartować się „, ponieważ zaczynało być niestabilne”. Było to zawsze z konkretnego powodu, takiego jak awaria zasilania, aktualizacja jądra lub przerwa w zasilaniu, a bateria mojego UPS była prawie wyczerpana (uruchamiając automatyczne wyłączanie za pomocą
apcupsd
).Jeśli twój system działa dziwnie, sprawdź
dmesg
problemy. Jeśli to tylko twój pulpit, to jeśli właśnie zainstalowałeś jakieś aktualizacje pakietów innych niż jądro, wyloguj się / zaloguj (lub uruchom ponownie, ale nie musisz). Odkryłem, że Kubuntu 15.04 będzie łatwo napotykać problemy po aktualizacjach pakietów, myślę, że z powodu binarnej niezgodności między uaktualnionymi / niezaktualizowanymi wersjami tej samej biblioteki działającej w tym samym pliku binarnym. (Zobacz dyskusję na temat tego błędu ).Moje sprawdzanie problemów ze sprzętem to uruchomienie memtest86 +. (
aptitude install memtest86+
) Niech uruchomi się pełne przejście lub uruchom przez noc. Nie gwarantuje to stabilnego systemu, ponieważ spadki napięcia zasilającego przy obciążeniach szczytowych mogą się obecnie zdarzyć z procesorami, a memtest nie wyklucza tego. Nie spowoduje to również nagrzewania się procesora, jak Prime95.źródło
Moja maszyna uruchomiła się ponownie dopiero 15.04 po tym, jak działała przez 11 dni bez żadnych dziwnych błędów, które mogę sobie przypomnieć. Jeśli wykonujesz ciężką pracę i programujesz w systemie, czasami może to być jedyna opcja ponownego uruchomienia, ale zawsze jest to konieczne.
źródło
Technicznie nie ma żadnych ograniczeń. po prostu musisz ustawić go tak, aby nie spał ani się nie wyłączał.
źródło
you just have to set it to not sleep or shut down
.Osobiście nie chciałbym uruchamiać laptopa lub komputera przez kilka dni bez ponownego uruchamiania lub wyłączania go.
Po prostu ze względu na główne komponenty, które generują ciepło, może przyspieszyć zużycie MB.
(Tak, jeśli nie masz odpowiedniego chłodzenia i wentylacji)
źródło
Nie jest specyficzny dla Ubuntu, ale mam rocznika laptopa z 1997 roku (300 MHz, 288 MB RAM) z dystrybucją opartą na Debianie, która ma czas pracy powyżej 60 dni, podczas gdy działa jeden program (plus rzeczy systemowe i podstępne) i nie uruchamianie i zatrzymywanie innego oprogramowania poza terminalem, aby co tydzień ładować aktualizacje. Ostatecznie zawiesił się podczas ładowania aktualizacji, około 63 dni. Dla kontrastu mój komputer stacjonarny Kubuntu 14.04 zawiesi się po około dwóch tygodniach. Zgadzam się z innymi odpowiedziami; chodzi bardziej o to, jakie oprogramowanie uruchamiasz i jak często uruchamiasz i zatrzymujesz inne programy, niż o Linuksa jako takiego.
źródło
startx
do ponownego uruchomienia serwera X? Czy też muszę użyć specjalnego polecenia, aby ponownie uruchomić usługę? Wiem dobrze, że stare Linux mówi: „Ponowne uruchomienie dotyczy aktualizacji jądra i instalacji sprzętu”.