martedì 6 settembre 2011

Accorgimenti per Ubuntu con SSD (Disco allo stato solido)

disco ssd veloce silenzioso

Ho già espresso le mie sensazioni sul potenziamento del mio notebook con Ubuntu, in questo post ho raccolto le piccole modifiche che ho fatto per ottimizzare Ubuntu con l'uso del SSD.
Io mi sono passato alcuni link trovati in rete (un buon punto di partenza può essere il wiki SSD check list), ho trovato alcune varianti, quelli che seguono sono gli accorgimenti che ho scelto, senza esagerare con le modifiche.


1. Modifica fstab

Da terminale:
  • sudo cp /etc/fstab /etc/fstab.bak
Ora possiamo procedere e modificare il file fstab, se vorremo tornare indietro basterà ripristinare la copia di bakup, ma se state attenti prima di salvare non ce ne sarà bisogno.
  • gksudo gedit /etc/fstab
a) Nella riga della partizione dove è installato il sistema ho aggiunto due opzioni:
noatime = evita di riscrivere ad ogni accesso dei file.
discard = abilità il TRIM.
b) Ho disattivato l'area di SWAP, per farlo basta premettere un cancelletto # alla riga con la partizione di  SWAP.
Non usando l'ibernazione e avendo 4 GB di RAM (più che a sufficienza per le mie esigenze) ho pensato di evitare eventuali scritture sull'area di SWAP. In realtà si potrebbe prima agire sul parametro che regola la soglia dopo cui si inizia ad usare la SWAP, ma la mia intenzione sarebbe quella di eliminare proprio la partizione per recuperare 4 GB che sui 60 GB totali del disco sono una porzione non trascurabile.
Siccome per ora non ho bisogno dello spazio l'ho solo disattivata, in futuro potrò provvedere a cancellarla ed aggiungerla alla partizione principale tramite GParted.
c) Ho montato le cartelle dei file temporanei (/tmp e /var/tmp) e quella dei log del sistema (/var/log) nella RAM per evitare molte scritture al disco. Prima di fare questa modifica bisogna tener conto che allo spegnimento del computer perderemo il contenuto di queste cartelle e che il nostro uso di programmi non deve necessitare di grossi quantitativi di file depositati nei temporanei. Quindi se, ad esempio, fate copie di DVD e usate programmi che salvano contenuti grandi su /tmp potreste avere problemi, quindi evitate.

Dopo i tre passaggi (a-b-c) spiegati qua sopra, il vostro file dovrebbe avere un contenuto simile al seguente [in rosso le modifiche effettuate]:

# / was on /dev/sda1 during installation
UUID=xxxxxxx-xxxxxx-xxxxx-xxxxx-xxxxxxxx / ext4 noatime,discard,errors=remount-ro,user_xattr 0 1
# swap was on /dev/sda2 during installation
#UUID=xxxxxxx-xxxxxx-xxxxx-xxxxx-xxxxxxxx none swap sw 0 0
# temp e log su RAM
tmpfs /tmp tmpfs defaults,noatime 0 0
tmpfs /var/tmp tmpfs defaults,noatime 0 0
tmpfs /var/log tmpfs defaults,noatime 0 0

Salvare e chiudere il file.


2. Modifica dello scheduler (non più necessario)

Per maggiori informazioni potete leggere "elevator=noop". L'opzione che io ho scelto è quella migliore se oltre al disco SSD si utilizzano anche dischi meccanici classici (io utilizzo anche il vecchio disco) questo è quello che ho fatto, da terminale:
  • sudo apt-get install sysfsutils
  • sudo gedit /etc/sysfs.conf
Aggiungere in fondo al file la riga:
  • block/sda/queue/scheduler = noop
Salvare e chiudere.


3. Spostare la cache del browser sulla RAM

Come ho detto, 4 GB di RAM per me sono abbondanti, quindi ho provveduto a spostarci anche le cache dei browser. In questo modo sfrutto quello che altrimenti difficilmente userei e ancora più importante evito molte scritture sul disco che la navigazione web comporta.
La cache su RAM velocizza anche il caricamento delle pagine però ha alcuni sconvenienti. In particolare se capita qualche problema e il browser si chiude non potrete ripristinare la sessione quando riaprirete il programma.

  • Per Firefox
    Aprite Firefox sulla barra scrivete about:config
    Accettate che farete attenzione e scrivete browser.cache nel filtro:
    - alla voce browser.cache.disk.enable cliccate due volte per metterla su false
    - alla voce browser.cache.memory.enable cliccate su true (dovrebbe andare in automatico con il passaggio precedente)
    Ora cliccate con il destro sullo spazio vuoto e create Nuovo»Intero nominatelo browser.cache.memory.capacity e schiacciate OK. Nella nuova riga immettete lo spazio da assegnare alla cache in kilobyte (io ho messo 100000) oppure mettete -1 se volete lasciare a Firefox il compito di allocare dinamicamente lo spazio in base alla vostra RAM.
    - consiglio di disattivare "Consenti la gestione automatica della cache" anche nelle preferenze di Firefox sotto la voce Avanzate»Rete e già che ci siamo limitare la cache a 0 MB e cliccare su "cancella adesso".

  • Per Chromium
    Modificare il comando del lanciatore che usiamo per far partire Chromium in questo modo (aggiungere la parte in grassetto):
    /usr/bin/chromium-browser %U --disk-cache-dir="/var/tmp"
    Praticamente segnaliamo di usare, per la cache, la cartella che avevamo spostato nella RAM con la precedente modifica di fstab (punto 1). Basterà aprire Chromium con quel lanciatore perché la nostra navigazione finisca sulla RAM.


Dopo il riavvio potrete usare il vostro disco allo stato solido più spensierati, ma considerato i tempi con cui si cambiano computer o componenti oggi, anche senza alcuna modifica il vostro disco allo stato solido non farebbe in tempo ad usurarsi.
Gli accorgimenti adottati dovrebbero comunque migliorare il livello delle prestazioni e mantenerle più costanti nel passare dei mesi.

2 commenti:

Anonimo ha detto...

Ciao.. Volevo chiederti se block/sdb/queue/scheduler = noop punta al tuo HDD?

Grazie

ukuntu ha detto...

Credo che non serva più mettere quella linea perché ora il kernel lo gestisce in automatico.
Comunque, come da logica, in base al nome del disco che metti (sda, sdb ... ) lo scheduler lo imposti sul disco che corrisponde a quel nome.