Tempo massimo per cui un PC Linux può essere attivo? [chiuso]


12

In realtà ho avuto un sistema Linux (con Ubuntu 12.04.3) per giorni senza riavvio. Mi sono imbattuto in alcuni errori come sospensione del sonno e alcuni file system montati in rete non riescono a montare nemmeno in grado di eseguire il ping (verificato tramite altri PC, il montaggio in rete funzionava bene).

Volevo verificare se Linux richiede anche di riavviare la macchina dopo un certo periodo di tempo per evitare questo tipo di errori indesiderati che non sono ripetibili.

Qual è il tempo massimo in cui possiamo mantenere attivo il PC? Ci sono altri problemi che potrebbero verificarsi se abbiamo un sistema attivo per un anno o più senza riavvio?


2
Non penso che ci sia un limite statico, dal momento che i computer non sono pensati per essere svegli e funzionanti per così tanto tempo. Non esiste un limite nominale; è solo per quanto tempo il tuo computer può rimanere sveglio. Perché non dovresti voler riavviare di tanto in tanto.
TheWanderer,

7
@ Zacharee1 umm, perché VUOI riavviare? A meno che non sia un consumo di energia, in realtà non c'è molto motivo. In effetti, è meglio se non lo fai. L'hardware durerà generalmente, X anni per parte. Per semplicità, diciamo che X è universalmente 10 (non sarà neanche molto lontano) - di solito sono 10 anni continui di utilizzo che può durare. Questo è un uso normale. Se riavvii non è un uso continuo ma stai anche colpendo l'hardware grande al prossimo avvio della macchina. Se lo lasci, la maggior parte dei componenti si abbassa, riduce comunque i consumi e l'usura.
VLAZ,

1
È ovviamente il caso che le parti subiscano più usura durante l'uso. Tuttavia, il riavvio (in quanto distinto dal solo spegnimento del sistema) non riduce l'usura dei componenti, ma aumenta. Inoltre, fondamentalmente fraintendete come funzionano le cache se pensate che i dati memorizzati nella RAM rallentino il computer.
user6053

1
Se si esegue un server Web su Linux (ad esempio LAMP), si desidera evitare il più possibile i riavvii poiché, in tal modo, i siti Web verranno interrotti per il tempo necessario per il ripristino del sistema. Non credo di esserci mai andato un anno, ma sicuramente diversi mesi senza riavviare.
Tcrosley,

2
@ Zacharee1 praticamente nulla nella RAM non rallenterebbe il tuo computer. Se c'è una perdita di memoria in un'applicazione, potrebbe richiedere, ad esempio, il 60% della RAM e il sistema inizierà presto a scambiarsi, il che è lento, tuttavia la soluzione è riavviare l'applicazione, non il sistema operativo. L'arresto della macchina arresta l'usura dei componenti, ma li sostituiresti prima di quanto usualmente nella maggior parte dei casi comunque. Inoltre, come ho sottolineato, i componenti hardware riducono già l'usura da soli. Semplicemente lasciando il sistema inattivo.
VLAZ,

Risposte:


36

Lavorando come amministratore di sistema, vedo i server Linux attivi per oltre 700-800 giorni senza riavvio, quindi non ci sono limiti di uptime; gli errori che hai non sono correlati a Linux (il kernel) stesso.

Molti servizi possono essere riavviati e la maggior parte degli errori può essere risolta sui sistemi di produzione.


7
Posso confermare questo. Tempo di attività corrente su uno dei miei server: ~ $ tempo di attività 00:13:15 su 883 giorni, 9:00, 1 utente, carico medio: 0,00, 0,01, 0,05 Ubuntu 12.04.4 LTS. Non è necessario aggiornare nulla in quanto non esegue nulla di importante.
Minthos,

5
Ho conservato con successo un'istanza di Linux integrata per 3+ anni.
Rafał Cieślak,

16

Non è necessario riavviare il computer dopo un certo periodo di tempo. Ho funzionato da mesi (compresi gli aggiornamenti del modulo del kernel) con alcune sospensioni (su RAM e disco) nel mezzo.

Ci sono occasioni in cui

  • è assolutamente necessario riavviare, come gli aggiornamenti del kernel (ma quelli non sono urgenti in molte situazioni, e in alcuni casi è possibile sostituire un kernel in esecuzione con uno nuovo su un sistema live. Vedi kexec e Ksplice )
  • potrebbe essere più semplice riavviare l'intero sistema anziché solo un particolare (set di) sottosistemi.

Potrebbero esserci alcuni problemi che "peggiorano" nel tempo (ad esempio problemi di driver hardware, processi che perdono), ma quelli sono considerati bug e possono spesso essere risolti con un aggiornamento del software o aggirati con un ricaricamento / riavvio di quel particolare sottosistema (anche vedi sopra).


6
Il patching del kernel al volo ottiene più clamore di quanto meriti. È fantastico se hai il tempo di verificare che un aggiornamento funzioni in questo modo, ma qualsiasi modifica del codice che rende diverse le strutture di dati in memoria non può essere semplicemente patchata dal vivo. Non consentirà l'aggiornamento senza riavvio ai nuovi kernel in generale. Permetterà correzioni senza riavvio per cose come i bug di controllo delle autorizzazioni. È FANTASTICO e fantastico non dover riavviare un server, ma non aspettarti che questo ti dia aggiornamenti senza riavvio a nuove versioni.
Peter Cordes,

1
Sono d'accordo con Peter. Ecco perché non ho menzionato patch live in questo contesto per non rendere le cose più complicate; purtroppo qualcuno ha modificato la mia risposta.
David Foerster,

7

Mentre sono certo che ci sono server con un tempo di attività più elevato, presento quanto segue da uno dei miei come esempio di ciò che è possibile:

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

Questo server è stato installato poco dopo che il controller di dominio è entrato in funzione e da allora non è più spento. Finora ha continuato felicemente a fare ciò per cui era originariamente previsto e quando tale scopo viene spostato su un altro server, inserirò qualcosa solo per monitorare il tempo di attività e probabilmente rimarrà attivo fino a quando non posso giustificare di mantenerlo in vita non piu.

Quindi penso che "Non esiste un massimo" è sicuramente la risposta corretta.


7

Non so se questo abbia un impatto sulla stabilità del sistema, ma il tempo di attività massimo mostrato in Ubuntu con il kernel 3.19-xx è 68,0962597349822anni su una macchina a 32 bit e 292471208677,8627anni su una macchina a 64 bit.

Questo perché il tempo di attività corrente del sistema, che viene restituito da sysinfo()syscall, viene restituito come un __kernel_long_ttipo , che viene dichiarato come longin un kernel a 32 bit e come long longin un kernel a 64 bit ;

A longsu una macchina a 32 bit ha un valore massimo di 2147483647;

A long longsu una macchina a 64 bit ha un valore massimo di 9223372036854775807;

Fare la matematica, 2147483647s= 68,0962597349822anni e 9223372036854775807s= 292471208677,8627anni.

Una volta che questo valore aumenta oltre la capacità del suo tipo, si verifica un overflow aritmetico ed è impostato sul valore più piccolo consentito dal suo tipo (in entrambi i casi un numero negativo): questo potrebbe essere un problema per i programmi che fanno affidamento su di esso.


3
L'OP non richiede il massimo tempo di attività che il sistema può registrare in modo accurato, ma chiede se sarà necessario riavviare il sistema regolarmente a causa della stabilità / ecc. limitazione.
Boluc Papuccuoglu,

@BolucPapuccuoglu Vedi se secondo te si adatta meglio a questo formato, specialmente all'ultima parte. Ho indicato esplicitamente quale potrebbe essere il problema. Se pensi ancora che non lo faccia, eliminerò la mia risposta.
kos

6

Una volta ero in una classe con un amministratore di sistema che sosteneva di avere un server Linux in esecuzione senza riavvii per oltre un decennio. Non esiste una ragione intrinseca per cui un sistema deve essere riavviato regolarmente. È richiesto solo in casi limitati come gli aggiornamenti del kernel.

FWIW, di solito lascio il mio computer di casa Windows in esecuzione. Di solito funzionerà bene per settimane senza riavviare.


Se il tuo computer Windows dura settimane senza riavviare, ovviamente non hai abilitato gli aggiornamenti automatici. Di solito vengono scaricati settimanalmente e quasi sempre provocano un riavvio.
Tcrosley,

@tcrosley Chi ha comunque bisogno di aggiornamenti automatici? È una delle prime cose che spengo su quelle macchine. Deciderò come utilizzare il mio computer, non un servizio automatico.
Albero

@tcrosley Sei sicuro che gli aggiornamenti di sicurezza di Windows vengano di solito scaricati ogni settimana? La mia comprensione, sia dalle politiche di rilascio degli aggiornamenti di Microsoft sia dall'esperienza personale sull'uso di Windows, è che gli aggiornamenti vengono generalmente rilasciati circa una volta al mese. Mast: Anche se sei certamente libero di disabilitare gli aggiornamenti automatici, non so perché ciò comporterebbe tempi di attività più lunghi. Presumibilmente - si spera! - si sta aggiornando manualmente, almeno per le correzioni di sicurezza. D'altro canto, la disabilitazione degli aggiornamenti automatici può semplificare il controllo in caso di tempi di inattività.
Eliah Kagan,

@EliahKagan Ho la mia macchina configurata per scaricare non solo correzioni di sicurezza, ma anche aggiornamenti di applicazioni, driver, ecc. Potrei sbagliarmi sul fatto che sia una volta alla settimana, ma è sicuramente più spesso di una volta al mese. Controlla gli aggiornamenti ogni mattina alle 3:00. Arriverò la mattina e scoprirò che il mio sistema è stato riavviato e dopo l'accesso, viene visualizzato il messaggio "Il sistema è stato riavviato per installare gli aggiornamenti".
Tcrosley,

4

Linux (il kernel) è molto bravo a liberare risorse all'uscita dei programmi. GNU / Linux, l'intero sistema operativo, generalmente funziona bene a tempo indeterminato. Riavviare i programmi di spazio utente dopo averli aggiornati è generalmente una buona idea, e spesso il modo più semplice per ottenere tutto usando un aggiornamento glibcè riavviare il sistema.

Sui sistemi con bug di driver (in genere bug di driver di grafica, tutto il resto è generalmente solido), a volte si ottiene un comportamento strano che diventa più strano se non si riavvia presto. Se vedi un kernel OOPS nel tuo dmesgoutput, dovresti riavviarlo non appena è conveniente e segnalarlo (o google in giro per altre persone con problemi simili su hardware simile, nel caso sia un problema noto). Le distribuzioni non forniscono le ultime versioni di sviluppo dello stack grafico, quindi a volte il bug è già stato risolto a monte e la tua scheda grafica è troppo nuova perché i driver sulla versione di distribuzione che stai eseguendo siano stabili. In tal caso, cerca un PPA con build aggiornate di mesa / drm / xorg. (Non sono sicuro di quale sia la scelta migliore per eseguire Ubuntu con uno stack grafico all'avanguardia).

Ad ogni modo, escludendo i driver o altri bug del kernel, Linux può funzionare indefinitamente senza bisogno di un riavvio per cancellare la frammentazione della memoria o qualcosa del genere.

Ho un router Linux / firewall / mailserver / shell box (P3 450MHz, OCed a 500MHz) che vede regolarmente i tempi di attività di centinaia di giorni. Riavvio solo per riorganizzare i cavi di alimentazione o per sostituire un alimentatore difettoso. Sta andando regolarmente con la stessa CPU / RAM / hard disk per probabilmente 15 anni. Non ho mai dovuto riavviare "perché stava diventando instabile". È sempre stato per un motivo specifico, come mancanza di alimentazione, aggiornamento del kernel o interruzione dell'alimentazione e la batteria del mio UPS era quasi scarica (innescando lo spegnimento automatico con apcupsd).

Se il tuo sistema si comporta in modo strano, verifica la presenza dmesgdi problemi. Se è solo il tuo desktop, se hai appena installato alcuni aggiornamenti del pacchetto non kernel, esci / accedi (o riavvia, ma non è necessario). Ho scoperto che Kubuntu 15.04 si imbatterà facilmente in problemi dopo gli aggiornamenti dei pacchetti, penso a causa dell'incompatibilità binaria tra le versioni aggiornate / non aggiornate della stessa libreria in esecuzione nello stesso binario. (Vedi discussione su questo bug ).

Il mio obiettivo per verificare i problemi hardware è avviare memtest86 +. ( aptitude install memtest86+) Lascia che esegua un passaggio completo o esegui durante la notte. Ciò non garantisce un sistema stabile, poiché al giorno d'oggi nelle CPU possono verificarsi cali di tensione di alimentazione sui carichi di picco e memtest non lo escluderà. Né surriscalderà la tua CPU, come Prime95.


3

La mia macchina è stata riavviata oggi solo per il 15.04 dopo essere rimasta in funzione per 11 giorni senza strani errori che posso ricordare. Se stai facendo un lavoro pesante e lo sviluppo su un sistema, a volte può essere l'unica opzione per riavviare, ma è sempre e solo in base alle necessità.


Esatto hai ragione! Sto sviluppando il 16.04 da un paio di mesi. A causa del congelamento, riavvio il computer generalmente ogni giorno. Ma sono sicuro che il motivo è quello che ho installato e che uso su e driver ecc.
efkan

1

Tecnicamente non ci sono limiti. devi solo impostarlo per non dormire o spegnere.


3
Potresti chiarire ed elaborare maggiormente la tua risposta? Specialmente questa linea you just have to set it to not sleep or shut down.
heemayl

"Tecnicamente non ci sono limiti" sarebbe stato sufficiente come risposta breve, concisa e corretta.
Léo Lam,

0

Personalmente non vorrei eseguire il mio laptop o PC per giorni senza riavviarlo o spegnerlo.

Semplicemente a causa dei componenti principali che generano calore può accelerare l'usura del MB.

(Ecco se non si dispone del raffreddamento e della ventilazione adeguati)


4
Se si tratta di immondizia di livello consumer come Acer o HP, ma i Thinkpad di livello aziendale o i laptop Dell Latitude sono generalmente realizzati meglio; Personalmente ho un Latitude in esecuzione 24x7 per più di un anno, è proprio accanto a me e funziona ancora perfettamente.

@kingtoor Perché sarebbe meglio eseguire una macchina raffreddata in modo inadeguato 24x7 con riavvii occasionali piuttosto che eseguirla 24/7 senza riavvii? (O non è quello che vuoi dire?)
Eliah Kagan,

1
Spegnimento / sospensione quando non in uso su un laptop che si surriscalda quando lasciato in funzione 24/7, ok certo. Non è correlato al riavvio (senza tempo trascorso) rispetto al tempo di attività continuo.
Peter Cordes,

La mia risposta è nel mio commento.
Kingtoor,

Inoltre non vedo davvero alcun motivo per un utente medio di eseguire il proprio PC 24 ore su 24, 7 giorni su 7, a meno che non disponga di un server. È la mia opinione.
Kingtoor,

0

Non specifico per Ubuntu, ma ho un laptop vintage del 1997 (300 MHz, 288 MB di RAM) con una distribuzione basata su Debian che ha avuto uptime di 60 giorni, mentre eseguivo un singolo programma (più roba di sistema e conky) e non avviare e arrestare altri software tranne un terminale per caricare gli aggiornamenti settimanalmente. Alla fine, si è bloccato durante il caricamento degli aggiornamenti, a circa 63 giorni. Al contrario, il mio sistema desktop Kubuntu 14.04 si bloccherà nel blocco dello schermo dopo circa due settimane. Sono d'accordo con altre risposte; riguarda più il software che si esegue e la frequenza con cui si avvia e si arresta altri programmi, piuttosto che Linux in quanto tale.


Se si è verificato un arresto anomalo (intendo un arresto anomalo o un blocco, non solo l'arresto anomalo di X che è risolvibile senza riavviare), probabilmente significa che c'è un problema hardware (surriscaldamento, RAM difettosa, ecc.). Come amministratore di sistema a volte ho i miei server in esecuzione per mesi senza riavviare, anche se preferisco evitarlo poiché è necessario riavviare per applicare gli aggiornamenti del kernel.

Quando il blocco dello schermo è diventato nero, non c'è modo efficace per sapere se si tratta di un blocco del sistema rigido o di un errore del server X - e non c'è modo di accedere alla riga di comando (senza possibilità di inserire la password) per riavviare X o qualsiasi altra cosa può essere. Sono propenso a pensare se ci vogliono due settimane, non si tratta di surriscaldamento o RAM difettosa.
Zeiss Ikon,

Ctrl + Alt + F1 non funziona? E un cattivo driver di grafica potrebbe essere il colpevole: potrebbero non essere stati testati pensando a tempi di attività elevati, ma Linux è sicuramente in grado di funzionare per anni senza problemi.

Dovrò provare CTL-ALT-F1, se riesco a ricordarmelo la prossima volta ottengo un blocco del blocco dello schermo (sto usando l'hard reset). Presumo che avrei usato startxper riavviare il server X? O devo usare un comando speciale per riavviare il servizio? Sono ben consapevole del vecchio detto di Linux, secondo cui "I riavvii sono per gli aggiornamenti del kernel e l'installazione dell'hardware".
Zeiss Ikon,

Accedi come root o come utente normale e usa sudo e segui queste istruzioni
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.