33.4. Disco rigido a riposo

In Linux, se il disco rigido non è necessario è possibile metterlo completamente nello stato sleep oppure utilizzarlo in modo più economico o più silenzioso. Sui computer portatili moderni, non è necessario disattivare i dischi rigidi manualmente, poiché passano automaticamente alla modalità di funzionamento economica quando non sono necessari. Tuttavia, per ottimizzare il risparmio energetico, è possibile provare qualcuno dei metodi seguenti. La maggior parte delle funzioni possono essere controllate con powersaved e il modulo power management di YaST, descritto in dettaglio nella Sezione 33.6, "Modulo power management di YaST".

È possibile utilizzare l'applicazione hdparm per modificare diverse impostazioni del disco rigido. Con l'opzione -y il disco rigido passa subito al modo stand-by. Con l'opzione -Y passa allo stato sleep. hdparm -S x comporta il rallentamento del disco rigido dopo un determinato periodo di inattività. Sostituire x nel seguente modo: 0 disattiva questo meccanismo e fa funzionare il disco costantemente. I valori da 1 a 240 vengono moltiplicati per 5 secondi. I valori da 241 a 251 corrispondono da 1 a 11 moltiplicato 30 minuti.

È possibile controllare le opzioni interne di risparmio energetico del disco rigido con l'opzione -B. Selezionare un valore da 0 a 255 per il risparmio massimo alla massima velocità. Il risultato dipende dal disco rigido utilizzato ed è di difficile valutazione. Per rendere più silenzioso un disco rigido, utilizzare l'opzione -M. Selezionare un valore da 128 a 254 per il funzionamento silenzioso e veloce.

Spesso non è facile far passare il disco rigido allo stato sleep. In Linux, molti processi scrivono sul disco rigido, causandone ripetutamente la riattivazione. Perciò, è importante comprendere come Linux gestisce i dati da scrivere sul disco rigido. Innanzitutto, tutti i dati vengono memorizzati nel buffer della RAM. Questo buffer viene controllato dal daemon per l'aggiornamento del kernel (kupdated). Al raggiungimento di un determinato periodo limite di permanenza o quando il buffer è pieno fino a un certo limite, il contenuto del buffer viene eliminato e spostato nel disco rigido. La dimensione del buffer è dinamica e dipende dalla dimensione della memoria e dal carico del sistema. Per default, kupdated è impostato in modo da raggiungere la massima integrità dei dati in intervalli brevi. Verifica il buffer ogni 5 secondi e informa il daemon bdflush quando i dati hanno superato una permanenza superiore a 30 secondi oppure se il buffer ha raggiunto il livello di riempimento del 30%. Il daemon bdflush scrive quindi i dati sul disco rigido e li scrive anche a prescindere da kupdated se, ad esempio, il buffer è pieno.

[Warning]Danneggiamento dell'integrità dei dati

Le modifiche apportate alle impostazioni del daemon per l'aggiornamento del kernel mettono a rischio l'integrità dei dati.

Oltre a questi processi, il diario dei file system, ad es. ReiserFS e Ext3, scrive i metadati a prescindere da bdflush, che inoltre impedisce al disco rigido di rallentare. Per evitare che ciò avvenga, è stata sviluppata un'estensione speciale del kernel per i dispositivi mobili. Per i dettagli, vedere /usr/src/linux/Documentation/laptop-mode.txt.

Un altro fattore importante è il comportamento dei programmi attivi. Ad esempio, alcuni editor scrivono di norma sul disco rigido i backup nascosti del file attualmente modificato causando la riattivazione del disco. È possibile disabilitare funzionalità di questo tipo a scapito dell'integrità dei dati.

A tale proposito, Postfix del daemon di posta utilizza la variabile POSTFIX_LAPTOP. Se questa variabile è impostata su , Postfix accede al disco rigido molto più raramente. Risulta tuttavia irrilevante se è stato aumentato l'intervallo per kupdated.