Esiste il rischio di corruzione dei dati se il laptop sospeso si esaurisce?


11

Spesso tendo a suspendutilizzare il mio laptop xfce4-power-managere, sebbene di solito la batteria sia sufficientemente carica fino alla volta successiva (quando inserisco il caricabatterie), a volte dimentico e dopo circa una settimana la batteria si scarica e il laptop si spegne stesso verso il basso (con forza).

In questi casi, c'è qualche rischio di corruzione dei dati? Suppongo che no, poiché il disco rigido si è già sincronizzato ed è stato spento suspend.

Inoltre, si dovrebbe preferire suspend, hibernateo qualche variante ibrida?

Risposte:


8

La sospensione implica che i dati con cui si stava lavorando si trovino nella memoria. Questo stato andrà perso se si esaurisce il potere. Se stavi scrivendo un post sul forum, ad esempio, andrà perso, ma non accadrebbe nulla di più serio. Pensa che sia meno grave che scollegare e rimuovere la batteria, poiché il computer può sincronizzarsi prima e persino ritardare la sospensione (durante l'esecuzione di un aggiornamento o aggiornamento).

Per ottenere entrambi i vantaggi di sospensione (riavvio rapido) e ibernazione (salvataggio sicuro su disco, senza consumo di energia), provare pm-suspend-hybridinvece. Se si esaurisce l'alimentazione, è possibile riavviare dall'immagine salvata su disco, se non si esaurisce l'alimentazione, è possibile riavviare rapidamente da uno stato sospeso a uno di memoria.


1
"ma non accadrebbe nulla di più grave." Giusto per essere chiari, ciò significa che non può verificarsi corruzione nei settori del disco rigido? In altre parole, perderesti tutto ciò che non hai già salvato sul disco (come previsto), ma tutto ciò che risiede sul disco è sano e salvo. Corretta?
Landroni,

1
@landroni: giusto.
Quora Feans

2

Ci sono due cose a cui pensare qui, come suggerito da altre risposte.

Il primo è la corruzione del file system. Ciò si riferisce alle strutture di metadati che rendono utilizzabile il file system ed è compreso e controllato dal kernel.

Il secondo è il contenuto dei file. Quando il contenuto di un file è danneggiato, il kernel non lo saprà (o se ne occuperà). I sistemi complessi come i database implementano le proprie strutture di metadati per risolvere questo problema, ma per la maggior parte dei tipi di file su un tipico sistema desktop non esiste nulla del genere.

Se stai modificando un file, una "modifica" al file potrebbe consistere in scritture in più posizioni. Quando tutte queste scritture sono state completate, il file è in uno stato coerente, ma quando solo alcune di queste scritture sono completate, il contenuto del file potrebbe essere danneggiato (incoerente)

Il sistema operativo "dovrebbe" raggruppare le scritture correlate in una transazione. Quindi, ad esempio quando un file cresce, i dati devono essere scritti nei blocchi appartenenti a quel file e le strutture del file system devono essere aggiornate per allocare quei nuovi blocchi al file e possibili modifiche alla voce della directory (ad es. Ora dell'ultima modifica ) essere aggiornato, tutto come un singolo gruppo. Una volta che tutto questo è sincronizzato (scaricato) su disco, il file system sarà nuovamente coerente, ma il contenuto del file potrebbe non esserlo fino a quando tutte le scritture rilevanti non saranno state inviate dall'applicazione e scaricate su disco dal sistema operativo.

Se l'applicazione si trova nel mezzo di una modifica complicata e viene bloccata prima che tutte le transazioni siano state emesse, ad esempio si preme SALVA e si chiude immediatamente il coperchio del laptop, l'intero gruppo di modifiche potrebbe non arrivare tutte alle code di scrittura del kernel.

Generalmente tutto ciò che è nelle code di scrittura verrà scaricato sul disco. I file system dovrebbero, in generale, essere coerenti. A causa delle riviste del file system, ciò potrebbe significare che alcune di queste modifiche sono temporaneamente in un registro, sebbene in modo sicuro sul disco.

Il contenuto del file tuttavia è un'altra storia.


1

Corruzione dei dati? Molto probabilmente no. Perdita di dati? possibilmente.

I dati che sarebbero a rischio quando il sistema perdesse energia durante una sospensione sarebbero le uniche cose a rischio. Questi dati sono lo "snapshot" della memoria del sistema che è stato temporaneamente scritto sul disco quando si mette il sistema in modalità "sospensione". Nessun danno dovrebbe mai venire sul tuo HDD o sui dati presenti sull'HDD.

I dati sul tuo sistema dovrebbero essere al sicuro fintanto che hai selezionato che il sistema "si spegne" se la batteria entra in uno stato "critico", come si vede in questa finestra di dialogo, sotto le impostazioni di alimentazione del sistema.

    SS # 1

contro questo:

    ss # 2


2
Hmm, come è possibile? Forse usi hibernate? Perché quando lo usi suspend, se il laptop si esaurisce, si spegne e quindi esegui un avvio a freddo. (Almeno qui dopo suspende una perdita di potere non riprende mai da dove era partito.)
landroni

@landroni - vedi aggiornamenti.
slm

@landroni - questo lo spiega meglio?
slm
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.