Maximale Zeit, für die ein Linux-PC UP sein kann? [geschlossen]

12

Eigentlich hatte ich tagelang ein Linux-System (mit Ubuntu 12.04.3) ohne Neustart. Ich bin auf einige Fehler gestoßen, zum Beispiel, dass der Schlaf hängen bleibt und dass ein im Netzwerk eingehängtes Dateisystem nicht einmal in der Lage ist, einen Ping-Befehl zu senden.

Wollte überprüfen, ob Linux nach einiger Zeit auch einen Neustart des Computers erfordert, um solche unerwünschten Fehler zu vermeiden, die nicht reproduzierbar sind.

Wie lange können wir den PC maximal warten? Gibt es einige andere Probleme, die auftreten können, wenn ein System für ein Jahr oder länger ohne Neustart läuft?

PRASHANT
quelle
2
Ich glaube nicht, dass es eine statische Grenze gibt, da Computer einfach nicht dafür gedacht sind, so lange wach zu sein und zu laufen. Es gibt kein Nennlimit. Es ist nur, wie lange Ihr Computer in Betrieb bleiben kann. Warum sollten Sie nicht gelegentlich neu starten wollen?
TheWanderer
7
@ Zacharee1 ähm, warum würdest du neustarten wollen? Wenn es nicht um den Stromverbrauch geht, gibt es kaum einen Grund. In der Tat ist es besser, wenn Sie dies nicht tun. Hardware hält in der Regel X Jahre pro Teil. Nehmen wir der Einfachheit halber an, dass X universell 10 ist (es wird auch nicht weit sein) - das sind normalerweise 10 Jahre ununterbrochener Nutzung, die es dauern kann. Das ist normal. Wenn Sie einen Neustart durchführen, ist dies kein Dauerbetrieb, aber Sie treffen beim nächsten Start der Maschine auch die Hardware. Wenn Sie es einfach so lassen - die meisten Komponenten drehen sich durch, reduzieren den Verbrauch und den Verschleiß trotzdem.
VLAZ
1
Es ist offensichtlich der Fall, dass Teile im Gebrauch einem höheren Verschleiß unterliegen. Ein Neustart (im Gegensatz zum Herunterfahren des Systems) verringert jedoch nicht den Verschleiß der Komponenten, sondern erhöht ihn. Außerdem verstehen Sie die Funktionsweise von Caches grundlegend falsch, wenn Sie der Meinung sind, dass im RAM zwischengespeicherte Daten Ihren Computer verlangsamen.
user6053
1
Wenn Sie einen Webserver unter Linux (z. B. LAMP) betreiben, möchten Sie einen Neustart so weit wie möglich vermeiden, da dies Ihre Websites für die Zeit, die das System für die Wiederherstellung benötigt, herunterfahren würde. Ich glaube nicht, dass ich jemals ein Jahr oder mehrere Monate ohne Neustart vergangen bin.
Tcrosley
2
@ Zacharee1 so ziemlich alles im RAM würde deinen Computer nicht verlangsamen. Wenn in einer Anwendung ein Speicherverlust auftritt, kann dies beispielsweise 60% des Arbeitsspeichers in Anspruch nehmen, und das System beginnt bald mit dem Auslagern. Dies ist jedoch langsam. Die Lösung besteht darin, die Anwendung und nicht das Betriebssystem neu zu starten. Durch Stoppen der Maschine wird der Verschleiß von Bauteilen gestoppt, aber Sie würden sie ohnehin in den meisten Fällen früher ersetzen, als sie normalerweise verschleißen. Darüber hinaus verringern Hardwarekomponenten, wie ich bereits betont habe, den Verschleiß von selbst. Einfach indem Sie das System im Leerlauf lassen.
VLAZ

Antworten:

36

Als Systemadministrator sehe ich Linux-Server für mehr als 700 bis 800 Tage ohne Neustart, sodass es keine Verfügbarkeitsbeschränkungen gibt. Die aufgetretenen Fehler beziehen sich nicht auf Linux (den Kernel).

Viele Dienste können neu gestartet und die meisten Fehler auf Produktionssystemen behoben werden.

user3417815
quelle
7
Kann das bestätigen. Aktuelle Betriebszeit auf einem meiner Server: ~ $ Betriebszeit 00:13:15 bis 883 Tage, 9:00, 1 Benutzer, Lastdurchschnitt: 0,00, 0,01, 0,05 Ubuntu 12.04.4 LTS. Keine Notwendigkeit, etwas zu aktualisieren, da es nichts Wichtiges ausführt.
Minthos
5
Ich habe eine eingebettete Linux-Instanz über 3 Jahre erfolgreich in Betrieb gehalten.
Rafał Cieślak
16

Es ist technisch nicht erforderlich, den Computer nach einer bestimmten Zeit neu zu starten. Ich habe meine seit Monaten laufen lassen (inkl. Kernel-Modul-Updates) mit einigen Suspensionen (auf RAM und Festplatte) dazwischen.

Es gibt Fälle, in denen

  • Wie bei Kernel-Updates ist ein Neustart unbedingt erforderlich (diese sind jedoch in vielen Situationen nicht dringend erforderlich. In einigen Fällen können Sie einen laufenden Kernel auf einem Live-System durch einen neuen ersetzen. Siehe kexec und Ksplice. )
  • Möglicherweise ist es einfacher, das gesamte System neu zu starten, als nur bestimmte Subsysteme.

Es kann einige Probleme geben, die mit der Zeit "schlimmer" werden (z. B. Probleme mit Hardwaretreibern, undichte Prozesse), die jedoch als Fehler angesehen werden und häufig durch ein Software-Upgrade behoben oder durch ein erneutes Laden / Neustarten des jeweiligen Subsystems (auch) behoben werden können siehe oben).

David Foerster
quelle
6
On the fly-Kernel-Patches erzeugen mehr Hype, als sie verdienen. Es ist großartig, wenn Sie die Zeit haben, um zu überprüfen, ob ein Update auf diese Weise funktioniert, aber jede Codeänderung, die Datenstrukturen im Arbeitsspeicher verändert, kann nicht einfach live gepatcht werden. Es wird im Allgemeinen kein rebootloses Upgrade auf neue Kernel ermöglichen. Es ermöglicht das Beheben von Fehlern, die die Berechtigungsprüfung betreffen, ohne Neustart. Es ist GROSSARTIG und großartig, keinen Server neu starten zu müssen. Erwarten Sie jedoch nicht, dass Sie damit ein rebootfreies Upgrade auf neue Versionen erhalten.
Peter Cordes
1
Ich stimme Peter zu. Aus diesem Grund habe ich Live-Patches in diesem Zusammenhang nicht erwähnt, um die Dinge nicht komplizierter zu machen. Leider hat jemand meine Antwort bearbeitet.
David Foerster
7

Obwohl ich mir sicher bin, dass es Server mit einer höheren Verfügbarkeit gibt, präsentiere ich Folgendes von einem meiner Server als Beispiel für das, was möglich ist:

# uptime
04:58:44 up 2186 days, 23:15,  1 user,  load average: 0.02, 0.02, 0.00

Dieser Server wurde kurz nach dem Start des DC installiert und seitdem nicht mehr ausgeschaltet. Bisher hat es glücklich weitergemacht, wofür es ursprünglich gedacht war, und wenn dieser Zweck auf einen anderen Server verlagert wird, werde ich dort etwas anbringen, um die Betriebszeit zu überwachen, und es wird wahrscheinlich so lange am Leben bleiben, bis ich es nicht rechtfertigen kann, es am Leben zu halten länger.

Daher denke ich, dass "Es gibt kein Maximum" mit Sicherheit die richtige Antwort ist.

Kaithar
quelle
7

Ich weiß nicht, ob sich dies auf die Stabilität des Systems auswirkt, aber die in Ubuntu mit Kernel 3.19-xx angezeigte maximale Betriebszeit beträgt 68,0962597349822Jahre auf einer 32-Bit-Maschine und 292471208677,8627Jahre auf einer 64-Bit-Maschine.

Dies liegt daran, dass die aktuelle Verfügbarkeit des Systems, die vom sysinfo()syscall zurückgegeben wird, als __kernel_long_tTyp zurückgegeben wird , der als longin einem 32-Bit-Kernel und als long longin einem 64-Bit-Kernel deklariert ist .

Ein longauf einem 32-Bit-Computer hat einen Maximalwert von 2147483647;

Ein long longauf einem 64-Bit-Computer hat einen Maximalwert von 9223372036854775807;

Mathe machen, 2147483647s= 68,0962597349822Jahre und 9223372036854775807s= 292471208677,8627Jahre.

Sobald dieser Wert die Kapazität seines Typs übersteigt, findet ein arithmetischer Überlauf statt, und er wird auf den kleinsten Wert gesetzt, der von seinem Typ zugelassen wird (in beiden Fällen eine negative Zahl). Dies kann ein Problem für Programme sein, die darauf angewiesen sind.

kos
quelle
3
Das OP fragt nicht nach der maximalen Betriebszeit, die das System genau protokollieren kann, sondern ob es aus Stabilitätsgründen / etc. Regelmäßig neu gestartet werden muss. Verjährung.
Boluc Papuccuoglu
@BolucPapuccuoglu Sehen Sie, ob es Ihrer Meinung nach besser in dieses Format passt, insbesondere in den letzten Teil. Ich habe ausdrücklich darauf hingewiesen, wo das Problem liegen könnte. Wenn Sie es immer noch nicht glauben, werde ich meine Antwort löschen.
Kos
6

Ich war einmal in einer Klasse mit einem Systemadministrator, der behauptete, er habe einen Linux-Server, der über ein Jahrzehnt ohne Neustart lief. Es gibt keinen inhärenten Grund, warum ein System regelmäßig neu gestartet werden muss. Dies ist nur in begrenzten Fällen erforderlich, z. B. bei Kernel-Updates.

FWIW, normalerweise lasse ich meinen Windows-Heimcomputer laufen. Normalerweise läuft es wochenlang einwandfrei, ohne dass ein Neustart erforderlich ist.

Phillip
quelle
Wenn Ihr Windows-Computer wochenlang keinen Neustart durchführt, sind die automatischen Updates offensichtlich nicht aktiviert. Sie werden normalerweise wöchentlich heruntergeladen und führen fast immer zu einem Neustart.
Tcrosley
@tcrosley Wer braucht schon automatische Updates? Es ist eines der ersten Dinge, die ich an diesen Maschinen ausschalte. Ich werde entscheiden, wie ich meinen Computer benutze, nicht irgendwelche automatischen Dienste.
Mast
@tcrosley Sind Sie sicher, dass Windows-Sicherheitsupdates normalerweise jede Woche heruntergeladen werden? Meines Wissens nach werden Updates in der Regel etwa einmal pro Monat veröffentlicht , sowohl aufgrund der Richtlinien für die Veröffentlichung von Updates von Microsoft als auch aufgrund persönlicher Erfahrungen mit Windows. Mast: Es steht Ihnen zwar frei, automatische Updates zu deaktivieren, ich weiß jedoch nicht, warum dies zu längeren Betriebszeiten führen würde. Vermutlich - hoffentlich! - aktualisieren Sie manuell, zumindest aus Sicherheitsgründen. Andererseits kann das Deaktivieren automatischer Aktualisierungen die Kontrolle erleichtern, wenn Ausfallzeiten auftreten.
Eliah Kagan
@EliahKagan Ich habe meine Maschine so eingerichtet, dass sie nicht nur Sicherheitskorrekturen, sondern auch Updates für Anwendungen, Treiber usw. herunterlädt. Ich kann mich irren, dass es einmal pro Woche ist, aber es ist mit Sicherheit öfter als einmal im Monat. Es wird jeden Morgen um 3:00 Uhr nach Updates gesucht. Ich werde am nächsten Morgen vorbeikommen und feststellen, dass mein System neu gestartet wurde. Nach der Anmeldung wird die Meldung "Ihr System wurde neu gestartet, um Updates zu installieren." Angezeigt.
Tcrosley
4

Linux (der Kernel) ist sehr gut darin, Ressourcen freizugeben, wenn Programme beendet werden. GNU / Linux, das gesamte Betriebssystem, kann im Allgemeinen auf unbestimmte Zeit ausgeführt werden. Das Neustarten von User-Space-Programmen nach dem Aktualisieren ist im Allgemeinen eine gute Idee. Oft glibcist ein Neustart des Systems der einfachste Weg, alles mithilfe eines aktualisierten Programms zu erhalten .

Auf Systemen mit Treiber-Bugs (normalerweise Grafik-Treiber-Bugs, alles andere ist in der Regel sehr solide) tritt manchmal ein seltsames Verhalten auf, das seltsamer wird, wenn Sie nicht bald neu starten. Wenn in Ihrer dmesgAusgabe ein Kernel-OOPS angezeigt wird, sollten Sie den Computer so schnell wie möglich neu starten und dies melden (oder bei anderen Personen mit ähnlichen Problemen auf ähnlicher Hardware nachsehen, falls es sich um ein bekanntes Problem handelt). Distros liefert nicht die neuesten Entwicklerversionen des Grafikstapels aus, daher ist der Fehler manchmal bereits im Original behoben, und Ihre Grafikkarte ist einfach zu neu für die Treiber der von Ihnen verwendeten Distributionsversion, um stabil zu sein. Suchen Sie in diesem Fall nach einem PPA mit aktualisierten Builds von mesa / drm / xorg. (Ich bin mir nicht sicher, was die beste Wahl ist, um Ubuntu mit einem Grafikstapel auf dem neuesten Stand zu betreiben).

Abgesehen von Treibern oder anderen Kernel-Fehlern kann Linux auf unbestimmte Zeit ausgeführt werden, ohne dass ein Neustart erforderlich ist, um die Speicherfragmentierung oder ähnliches zu beheben.

Ich habe eine Linux-Router / Firewall / Mailserver / Shell-Box (P3 450MHz, OCed bis 500MHz), die routinemäßig Betriebszeiten von Hunderten von Tagen sieht. Ich starte nur neu, um die Netzkabel neu anzuordnen oder ein fehlerhaftes Netzteil zu ersetzen. Es ist wahrscheinlich seit 15 Jahren stabil mit der gleichen CPU / RAM / Festplatte. Ich musste noch nie neu starten, "weil es instabil wurde". Es gab immer einen bestimmten Grund, z. B. einen Stromausfall, ein Kernel-Upgrade oder einen Stromausfall, und meine USV-Batterie war fast leer (wodurch das automatische Herunterfahren mit ausgelöst wurde apcupsd).

Wenn Ihr System seltsam reagiert, suchen Sie dmesgnach Problemen. Wenn es sich nur um Ihren Desktop handelt, müssen Sie sich abmelden / anmelden (oder neu starten, wenn Sie nur einige Nicht-Kernel-Paket-Updates installiert haben, müssen Sie dies jedoch nicht tun). Ich habe festgestellt, dass Kubuntu 15.04 nach Paketaktualisierungen leicht auf Probleme stoßen wird. Ich denke, dass dies auf die Inkompatibilität von Binärdateien zwischen aktualisierten und nicht aktualisierten Versionen derselben Bibliothek zurückzuführen ist, die in derselben Binärdatei ausgeführt werden. (Siehe Diskussion zu diesem Fehler ).

Um nach Hardwareproblemen zu suchen, muss ich memtest86 + booten. ( aptitude install memtest86+) Lassen Sie das einen vollen Durchlauf laufen, oder laufen Sie über Nacht. Dies garantiert kein stabiles System, da heutzutage bei CPUs Spannungsabfälle bei Spitzenlasten auftreten können und memtest dies nicht ausschließt. Auch wird Ihre CPU nicht heiß wie bei Prime95.

Peter Cordes
quelle
3

Meine Maschine wurde erst heute für den 15.04 neu gestartet, nachdem sie 11 Tage lang ohne merkwürdige Fehler gelaufen war, an die ich mich erinnern kann. Wenn Sie viel Arbeit und Entwicklung auf einem System erledigen, kann es manchmal die einzige Option sein, einen Neustart durchzuführen, dies erfolgt jedoch immer nur auf Bedarfsbasis.

Patrick
quelle
Genau du hast recht! Ich habe am 16.04 für ein paar Monate entwickelt. Wegen des Einfrierens starte ich meinen Computer im Allgemeinen jeden Tag neu. Aber ich bin sicher, der Grund ist, was ich installiert habe und ich verwende auf und Treiber usw.
efkan
1

Technisch gibt es keine Grenzen. Sie müssen es nur so einstellen, dass es nicht schläft oder herunterfährt.

TheSuperMakuhita
quelle
3
Könnten Sie bitte Ihre Antwort genauer erläutern und ausarbeiten? Speziell diese Linie you just have to set it to not sleep or shut down.
Heemayl
"Technisch gibt es keine Grenzen" hätte als kurze Antwort gereicht, prägnant und richtig.
Léo Lam
0

Persönlich möchte ich meinen Laptop oder PC nicht tagelang laufen lassen, ohne ihn neu zu starten oder herunterzufahren.

Nur weil die Hauptkomponenten Wärme erzeugen, kann dies den Verschleiß des MB beschleunigen.

(Das ist, wenn Sie nicht die richtige Kühlung und Belüftung haben)

Kingtoor
quelle
4
Wenn es sich um Consumer-Garbage wie Acer oder HP handelt, Business-Thinkpads oder Dell Latitude-Laptops jedoch in der Regel besser geeignet sind; Ich persönlich habe einen Latitude, der seit mehr als einem Jahr rund um die Uhr läuft. Er ist direkt neben mir und funktioniert immer noch perfekt.
@kingtoor Warum ist es besser, eine unzureichend gekühlte Maschine rund um die Uhr mit gelegentlichen Neustarts zu betreiben, als sie rund um die Uhr ohne Neustarts auszuführen? (Oder wollen Sie das nicht sagen?)
Eliah Kagan
1
Abschalten / Ruhezustand bei Nichtgebrauch auf einem Laptop, der heiß wird, wenn er rund um die Uhr laufen gelassen wird, klar. Dies hat nichts mit einem Neustart (ohne Zeitverlust) zu tun, im Gegensatz zu einer kontinuierlichen Betriebszeit.
Peter Cordes
Meine Antwort ist in meinem Kommentar.
Kingtoor
Außerdem sehe ich keinen Grund für einen durchschnittlichen Benutzer, seinen PC rund um die Uhr laufen zu lassen, es sei denn, er hat einen Server. Das ist meine Meinung.
Kingtoor
0

Nicht Ubuntu-spezifisch, aber ich habe einen 1997er-Jahrgang-Laptop (300 MHz, 288 MB RAM), auf dem eine Debian-basierte Distribution läuft, die eine Betriebszeit von über 60 Tagen hatte, während ein einzelnes Programm (plus Systemmaterial und conky) und ausgeführt wurden Starten und Stoppen anderer Software mit Ausnahme eines Terminals zum wöchentlichen Laden von Updates. Letztendlich stürzte es beim Laden der Updates nach etwa 63 Tagen ab. Im Gegensatz dazu friert mein Kubuntu 14.04-Desktopsystem nach etwa zwei Wochen in der Bildschirmsperre ein. Ich stimme anderen Antworten zu. Es geht mehr darum, welche Software Sie ausführen und wie oft Sie andere Programme starten und stoppen, als um Linux als solches.

Zeiss Ikon
quelle
Wenn es abgestürzt ist (ich meine Hardcrash oder Freeze, nicht nur X-Abstürze, die ohne Neustart behoben werden können), liegt wahrscheinlich ein Hardwareproblem vor (Überhitzung, schlechter Arbeitsspeicher usw.). Als Systemadministrator laufen meine Server manchmal monatelang ohne Neustart, ich bevorzuge es jedoch zu vermeiden, da Sie einen Neustart durchführen müssen, um Kernel-Updates anzuwenden.
Wenn die Bildschirmsperre deaktiviert ist, gibt es keine effektive Möglichkeit, festzustellen, ob es sich um eine harte Systemsperre oder einen X-Server-Fehler handelt. Sie können auch nicht auf die Befehlszeile zugreifen (ohne die Möglichkeit, das Kennwort einzugeben), um X neu zu starten, oder was auch immer es könnte sein. Ich bin geneigt zu denken, wenn es zwei Wochen dauert, ist es keine Überhitzung oder schlechtes RAM.
Zeiss Ikon
Strg + Alt + F1 funktioniert nicht? Und ein schlechter Grafiktreiber könnte der Schuldige sein - sie wurden möglicherweise nicht mit Blick auf eine hohe Verfügbarkeit getestet, aber Linux kann auf jeden Fall jahrelang ohne Probleme ausgeführt werden.
Ich muss CTL-ALT-F1 ausprobieren, wenn ich mich das nächste Mal daran erinnern kann, dass die Bildschirmsperre eingefroren ist (ich habe den Hard-Reset verwendet). Ich nehme an, ich würde dann startxden X-Server neu starten? Oder muss ich einen speziellen Befehl verwenden, um den Dienst neu zu starten? Mir ist das alte Linux-Sprichwort bekannt, dass "Neustarts für Kernel-Upgrades und Hardwareinstallationen vorgesehen sind".
Zeiss Ikon
Melden Sie sich als root oder als normaler Benutzer an und verwenden Sie sudo. Befolgen Sie diese Anweisungen