Mondoedox |
13-10-2011 21:38 |
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à.
- 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.
- 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.
- 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.
- 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 :D
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 :D ] 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!
|