Image Hosted by ImageShack.us

hdparm e’ uno strumento in grado di modificare i parametri di configurazione dei dischi EIDE. UN tool molto utile quindi per ottimizzare prestazioni e consumi.
Vediamo giusto qualche dritta (di hdparm si parla ovunque e non e’ propio il tema dell’articolo) per gestire l’accensione e lo spegnimento del motore dei dischi:

Impostare lo spin-down-time

..Ovvero il tempo di inattivita’ dopo il quale il motore del disco viene spento.
Apriamo un terminale e digitiamo:

sudo hdparm -S valore /dev/hda

dove valore = numero compreso tra 0 e 253

Impostando questo parametro a valori troppo bassi, c’e’ il rischio che l’hard disk si accenda e si spenga in continuazione
Con valori elevati il disco rimane invece sempre acceso..bisogna trovare,come sempre,il giusto compromesso..

Read Ahead

Strettamente correlato allo spin-down-time, il Read Ahead definisce quanti Kilobyte di dati si debbano leggere in anticipo da un file,prevedendo le future necessita’ dell’applicazione che vi sta accedendo.
Utile ad esempio se si sta riproducendo un file audio

sudo hdparm -a 8192 /dev/hda

/dev/hda:
setting fs readahead to 8192
readahead = 8192 (on)

L’effetto ottenuto e’ quello di caricare un file di 8MB interamente in memoria al primo accesso, aumentando le probabilita’ che il disco resti inutilizzato durante la riproduzione ed entri quindi in modalita’ powersave.

Powersaving

In alcuni dischi sono implementate queste tecniche di powersaving, e corrispondono all’opzione -B di hdparm.

sudo hdparm -B 1 /dev/hda

/dev/hda:
setting Advanced Power Management level to 0x01 (1)

Abbiamo portato il valore di Advanced Power Management sul valore piu’ aggressivo possibile, mentre usando 255 come valore si disabilita del tutto il powersaving in favore delle prestazioni
Se il disco non supporta questa funzionalita’ riceveremo un errore simile:

HDIO_DRIVE_CMD failed:
Input/Output error

Hdparm non e’ molto efficace nel tenere il disco spento il piu’ a lungo possibile, perche’ non tiene in considerazione della presenza di un thread del Kernel (pdflush nel kernel 2.6) che svuota periodicamente il buffer del disco. Per default, se vengono fatte delle modifiche ai file,queste saranno mantenute in cache per non piu’ di 30 secondi,dopodiche’ il disco verra’ riattivato e i dati salvati su disco.

A questo bisogna anche aggiungere che hdparm e’ adatto ai filesystem privi di Journal. Se il filesystem del nostro laptop e’ ext3,reiserfs,jfs o xfs, bisogna ricordarsi che le scritture del journal avvengono ad intervalli prefissati (ext3 ogni 5 secondi) e l’unico modo di mantenere i dischi in idle e’ prolungare questo intervallo..come?

Laptop_Mode

Per riallacciarmi al discorso precedente, commit=n,introdotto nel kernel 2.4, permette di portare a N secondi l’intervallo di update del journal di una certa partizione:

mount -o remount,commit=30 /

Con questa operazione pero’..aumentiamo la probabilita’ di crash del sistema..percio’ sarebbe opportuno tenere il commit a un intervallo basso quando il notebook e’ alimentato dalla rete elettrica e alzarlo quando viene alimentato a batteria.
Ci viene in aiuto Bart Samwel e la sua patch laptop_mode, inclusa nel kernel vanilla a partire propio dalla release 2.4.23 e 2.6.6.
Il laptop_mode viene in aiuto di hdparm per risolvere i problemi degli accessi periodici ai dischi: provvede ad aumentare i timeout appena descritti e a sfruttare al massimo ogni accensione del disco, svuotando completamente la cache anziche’ svuotarne solo “un po’”.
Questo significa che fino a quando il disco resta acceso, la quantita’ di dati in cache che devono essere scritti su disco viene mantenuta al minimo. A disco spento le scritture possono continuare ad essere effettuate sfruttando tutta la cache a disposizione,prolungando quindi il periodo di inattivita’ del disco. La patch aggiunge due voci allo pseudo filesystem /proc

1-

/proc/sys/vm/laptop_mode

permette di disattivare/attivare le funzionalita’ offerte da questa patch.

2-

/proc/sys/vm/block_dump

Ubuntu offre di default questa patch, e il suo file di configurazione si trova in:

/etc/laptop-mode/laptop-mode.conf

Uno script init, laptop-mode, si trova in /etc/init.d
Avviando:

cd /etc/init.d
sudo ./laptop-mode start

I laptop-mode tools cercheranno di scoprire se il portatile e’ collegato o meno alla rete elettrica e regoleranno di conseguenza i parametri del kernel, di hdparm e syslogd.

In condizioni normali, l’attivazione/disattivazione del laptop_mode viene fatta scattare dagli eventi dell’ACPI.
Se controlliamo in /etc/acpi/events,noteremo la presenza di vari file che invocano gli script corrispondenti:

lm_ac_adapter.sh
lm_lid.sh

Questi 2 script eseguono il comando

laptop-mode auto

provocando in questo modo l’aggiornamento dello stato di laptop_mode quando l’alimentatore viene scollegato o collegato…oppure quando il monitor viene richiuso.

lm_battery.sh

Questo script esegue:

laptop-mode stop

..quando la durata rimanente della batteria, scende sotto MINIMUM_BATTERY_MINUTES.

_________________________________________________

Un grazie particolare agli appunti di Luca Gibelli

l.gibelli@oltrelinux.com

Related Posts Plugin for WordPress, Blogger...

Il tuo indirizzo ip:
18.234.236.14

Valutazione 3.00 su 5
happy wheels 2 demo

Category:

Senza categoria

Tags:

Commenti via Facebook:

Leave a Reply

Your email address will not be published. Required fields are marked *

*

17 Comments

  • questo si che gioverà al mio portatile :p

      Quota

  • E per la gestione dei dischi sata hai qualche info? Ormai buona parte dei notebook in commercio montano sata. E devo dire che anche col mio sata esterno ho notevoli problemi, sia di prestazioni che relativi all’hot swap…

    Complimenti per il blog, sempre interessante!

      Quota

  • @montag
    ciao e grazie..
    purtroppo per i notebook non ho ancora notizie..
    so che hdparm non e’ propio indicato per i dischi sata..anzi..non va propio

      Quota

  • Ciao Divilinux, qualche tempo fa ho scritto un articolo abbastanza simile al tuo, pernso che si possano completare a vicenda, lo riporto quà per maggior completezza verso chi è interessato all’argomento :
    http://gismondo.wordpress.com/2007/05/31/ottimizzare-dischi-al-massimo/
    Ciao 😉

      Quota

  • @gismondo
    grazie..ci sono delle cose nel tuo articolo gia’ trattate qua sul lost blog ma per altri argomenti..se fai una ricerca trovi come modificare il sysctl.conf e come utilizzare un file di swap.Comunque fa sempre bene rinfrescare la memoria
    😉

      Quota

  • mastino ITALY 11 anni ago

    ciao. volevo chiedere come posso ottimizzare l’utilizzo del disco quando faccio uso software p2p. ho un hd seagate momentus da 100gb a 7200 giri e con questo caldo soffre un pò!!è possibile scaricare e poi periodicamente scrivere sul disco??tnx

      Quota

  • @mastino

    ciao. volevo chiedere come posso ottimizzare l’utilizzo del disco quando faccio uso software p2p. ho un hd seagate momentus da 100gb a 7200 giri e con questo caldo soffre un pò!!è possibile scaricare e poi periodicamente scrivere sul disco??tnx

    non ho capito..quale e’ il problema?

      Quota

  • mastino ITALY 11 anni ago

    spegnere o rallentare il più a lungo possibile l’hd quando scarico di notte…

      Quota

  • @mastino
    ..e’ quello che c’e’ scritto nell’articolo..hehe (spin-down-time)
    Nel kernel 2.6.21 e’ stato introdotta una funzione per i notebook che si chiama dyntick..e attiva gli interrupt solo al momento del bisogno..sia che il sistema sia attivo o a riposo..caso mai volessi installare questo kernel
    😉

      Quota

  • mastino ITALY 11 anni ago

    seguo la tua guida per installare il kernel 2.6.21?? devo conoscere qualcosa in particolare riguardo l’hardware da impostare?grazie

      Quota

  • @mastino
    se non sei pratico pero’..non ti avventurare…il difficile non e’ compilare il kernel,ma reinstallare dei driver che magari prima il kernel di Ubuntu ti offriva di default..

      Quota

  • mastino ITALY 11 anni ago

    è possibile abilitare il laptop_mode avendo il notebook collegato all’AC e batteria disinserita?usando un hd esterno per scaricare posso far spegnere quello interno?ho tentato ma senza riuscire! grazie per l’aiuto!

      Quota

  • meritil ITALY 11 anni ago

    per i dischi sata c’è sdparm anzichè hdparm…

    per la modalità laptop, per chi non avesse una distro ultraconfort tipo ubuntu..

    echo 5 > /proc/sys/vm/laptop_mode

    😉

      Quota

  • @meritil
    grazie della segnalazione
    😉

      Quota

  • Hi! I know this is kinda off topic but I was wondering which blog
    platform are you using for this site? I’m getting tired of WordPress because I’ve had problems with hackers
    and I’m looking at alternatives for another platform. I would be fantastic if you could point me in the direction of a good platform.

      Quota