View Single Post
Old 13-10-2011, 22:38   #40
Mondoedox
Member
 
Iscritto dal: Oct 2006
Città: Cremona
Messaggi: 268
Limitazione e controllo degli avvii del disco meccanico

Buonasera a tutti!

Ho installato un Optibay di recente; ho quindi un SSD da 128GB e un HDD da 750GB. Tutto funziona a meraviglia, se non fosse che, ormai abituato al silenzio tombale del disco a stato solido, il rumore e la vibrazione del disco [peraltro da 7200 rpm] mi infastidivano non poco.

Propongo quindi a tutti voi una guida - che ricalca quello che ho fatto io - per impedire che il sistema operativo e le applicazioni in background effettuino accessi indesiderati al disco meccanico, facendolo partire e fermare in continuazione. I motivi per cui potreste voler seguire questi passi sono principalmente due:
  • i ripetuti avvii e spegnimenti del disco ne accorciano la vita;
  • il rumore di avvio dell'HDD, specialmente quando apparentemente immotivato, è fastidioso e distrae.

Preciso che i contenuti di questa guida sono frutto di diverse ricerche e alcuni giorni di prove: nulla di ciò che scrivo deriva da fonti ufficiali, ma solo da altri forum e da alcuni altri siti. Al solito, quindi, non mi assumo responsabilità.
  1. Impostazioni di risparmio energetico
    È bene cominciare con delle impostazioni sensate di risparmio energetico. Di default, Mac OS X manda in stop gli HDD dopo 10 minuti dall'ultima operazione su disco. Per quanto mi riguarda, è un intervallo di tempo troppo elevato: possiamo allora correggere tale impostazione a piacere digitando a Terminale
    Codice:
    sudo pmset disksleep numerominuti
    naturalmente sostituendo numerominuti col valore desiderato.

  2. Disabilitazione dell'indicizzazione di Spotlight
    Spotlight è tra i processi che effettuano frequenti accessi al disco. Ciò è dettato dalla sua necessità di indicizzare periodicamente il contenuto del disco per rendere più veloce la ricerca dei [e nei] file.
    Ora, se utilizzate l'HDD aggiuntivo come dispositivo di storage di massa, probabilmente non sarete infastiditi da un leggero aumento della durata della ricerca [dipende dal numero di file, ma si parla in genere di uno, due secondi]. In tal caso, potete disabilitare l'indicizzazione di Spotlight da Terminale, digitando
    Codice:
    sudo mdutil -i off /Volumes/nomevolume
    rimpiazzando ovviamente nomevolume con l'etichetta che avete assegnato al vostro disco.

    Per essere sicuri che l'operazione sia andata a buon fine, digitate
    Codice:
    sudo mdutil -s -a
    e verificate che sotto il disco che state sottoponendo al trattamento sia indicato Indexing disabled.

    NOTA: se il nome del vostro disco include degli spazi, essi vanno riportati come "\ " [naturalmente senza virgolette].
    ATTENZIONE: l'operazione qui effettuata produce un effetto diverso dall'inserimento del volume nella lista Privacy di Spotlight [quella raggiungibile da Preferenze di Sistema -> Spotlight -> Privacy]. Seguendo il procedimento del Terminale, infatti, rimane possibile effettuare ricerche; la lista Privacy impedisce invece di cercare file sul volume.

  3. Disabilitazione del monitoring degli eventi del file system
    Il rivale di Spotlight nella disciplina olimpionica di disturbo mediante piattello è certamente l'oscuro fseventsd: si tratta del processo che tiene traccia degli eventi del file system per conto del sistema operativo. Ho letto in giro che sarebbe necessario per attivare Time Machine, io tuttavia l'ho disabilitato e Time Machine funziona perfettamente. Tenete però conto che non uso i backup automatici, ne faccio solo uno ogni tanto; a rigor di logica non dovrebbe cambiare nulla, ma chissà...
    Se non usate Time Machine per fare il backup dell'HDD, o come me ne fate uno manuale ogni tanto, potete disabilitare certamente fseventsd. Per farlo, digitate a Terminale
    Codice:
    sudo touch /Volumes/nomevolume/.fseventsd/no_log
    sostituendo ancora nomevolume col nome del vostro hard disk.

  4. Correzione del comportamento all'uscita dallo stop
    Prima di seguire le istruzioni qui sotto, accertatevi che anche il vostro Mac si comporti come il mio. Ovvero, male
    In sostanza, l'ultima pecca da correggere per me consisteva nel risveglio dallo stop: per qualche motivo, il disco non si fermava mai a meno di effettuare almeno un accesso a disco. Era come se, al rientro del Mac dallo stop, il timer dello spegnimento del disco non partisse fino alla prima operazione sul disco.

    Per ovviare al problema, quindi, basta creare un file [che io ho creato nascosto, per questioni puramente estetiche] che andremo a "toccare" col comando touch ogni volta che usciamo dallo stop. Ciò conta come operazione di I/O sul disco: il timer riprenderà quindi a funzionare correttamente nel momento esatto in cui uscite dallo stop.
    Ora, ottenere questo risultato è un po' più complicato di quanto si possa pensare: per prima cosa, scaricate l'utility sleepwatcher da qui, aprite il file .tgz che avete appena scaricato e otterrete una cartella contenente il programma e qualche altro file di configurazione. Passate quindi al Terminale e, sostituendo percorsosleepwatcher col percorso effettivo della cartella che avete appena estratto, digitate
    Codice:
    sudo mkdir -p /usr/local/sbin /usr/local/share/man/man8
    sudo cp percorsosleepwatcher/sleepwatcher /usr/local/sbin
    sudo cp percorsosleepwatcher/sleepwatcher.8 /usr/local/share/man/man8
    In questo modo, avete "installato" l'utility.
    Il passo successivo consiste nella creazione di un piccolo script contenente il comando touch che dovrà essere eseguito a ogni risveglio del Mac. Digitiamo quindi
    Codice:
    sudo nano /Users/vostronomeutente/.wakeup
    per entrare nell'editor di testo del terminale di Mac OS X. Scriviamo solo una riga nel file, ovvero
    Codice:
    touch /Volumes/nomevolume/.sleep_file
    quindi salviamo e chiudiamo premendo Ctrl+O, Invio, Ctrl+X.
    Ciò che ci rimane da fare è rendere eseguibile lo script appena creato, mediante il comando
    Codice:
    sudo chmod +x /Users/vostronomeutente/.wakeup
    Ora, dal Finder [un po' di pausa dal Terminale è salutare, ogni tanto ] aprite la cartella di sleepwatcher ed entrate nella sottocartella config. Aprite il file de.bernhard-baehr.sleepwatcher-20compatibility-localuser con TextEdit ed eliminate interamente la riga
    Codice:
    <string>-s ~/.sleep</string>
    Poi, sostituite la riga
    Codice:
    <string>-w ~/.wakeup</string>
    con la riga
    Codice:
    <string>-w /Users/vostronomeutente/.wakeup</string>
    Salvate e chiudete il file, quindi rinominatelo come sleepwatcher.plist e copiatelo nella cartella ~/Library/LaunchAgents/.*
    Non ci resta che modificare il proprietario e i permessi del file, digitando a Terminale
    Codice:
    sudo chown root /Users/vostronomeutente/Library/LaunchAgents/sleepwatcher.plist
    sudo chmod 644 /Users/vostronomeutente/Library/LaunchAgents/sleepwatcher.plist
    Possiamo quindi - finalmente! - dare il comando per fare in modo che sleepwatcher rimanga residente in memoria e tenga sott'occhio i risvegli del nostro Macbook. Digitiamo al Terminale
    Codice:
    launchctl load /Users/vostronomeutente/Library/LaunchAgents/sleepwatcher.plist
    NOTA: va da sé che ogni occorrenza di vostronomeutente e nomevolume va di nuovo sostituita, rispettivamente, col nome del vostro account sul Mac e col nome dell'HDD su cui state operando.

    *: il simbolo ~ indica la vostra cartella Home. Se siete su Lion, la cartella Library è nascosta di default. Se sapete come visualizzare i file nascosti, bene, altrimenti ovviate al problema operando dal Terminale in questo modo:
    Codice:
    sudo cp percorsosleepwatcher/sleepwatcher/config/sleepwatcher.plist /Users/vostronomeutente/Library/LaunchAgents/

Se la guida può essere di qualche interesse, friwer può inserire un link nel primo post! Spero di esservi stato utile!
__________________
 iMac Aluminium 24" mid 2008
 Macbook Pro 13" mid 2009
Rete domestica powered by  Time Capsule 1TB late 2009 +  Airport Express
 iPhone 5S Silver 16GB

Ultima modifica di Mondoedox : 27-10-2012 alle 15:19.
Mondoedox è offline   Rispondi citando il messaggio o parte di esso