Migliorare le prestazioni SSD ottimizzare
Le memorie SSD sono costruite in modo differente dagli hard disc tradizionali, la mancanza di parti meccaniche permette agli SSD di essere più rapidi e meno sensibili a cadute. Tuttavia i sistemi operativi moderni non sono stati scritti appositamente per operare su memorie SSD ma sono ottimizzati per i vecchi dischi rigidi.
I dischi a stato solido hanno un grave difetto, oltre ad un alto costo per GB: le varie celle di memoria non possono essere cancellate (scritte) troppe volte. Dopo un certo numero di scritture, che può essere irraggiungibile per certi usi ma un problema per altri, la memoria SSD non sarà più in grado di memorizzare i dati e la velocità di lettura s’abbassa.
Windows XP si comporta male con le schede SSD in quanto si possono notare visibili blocchi del sistema per una decina di secondi in caso di I/O molto sostenuti: all’aggiornamento dell’antivirus ad esempio il sistema si blocca per sbloccarsi alla fine dell’operazione. La situazione può migliorare seguendo i consigli di questo how-to (http://www.ocztechnologyforum.com/forum/showthread.php?t=43460)
In alternativa per Windows XP e Windows Vista è disponibile il software SSD tweaker che mostra quali componenti di Windows possono essere disabilitati per risparmiare scritture sul drive: SSD tweak utility oppure SSD-Tweaker 1.4.
Windows Vista non ha migliorato la situazione. Con Windows 7 pare che la situazione migliorerà, ma non si può ancora parlare perché è disponibile solo la versione beta di Windows 7.
Fortunatamente GNU/Linux permette un’altissima personalizzazione e non serve aspettare che una software house si decida a implementare una serie di accorgimenti per il supporto efficiente degli SSD.
Così si può beneficiare da subito col pinguino delle alte velocità delle memorie a stato solido.
Per migliorare le prestazioni del SSD sono necessarie alcune modifiche:[ad#midarticlequadr]
- Uso di un filesystem senza journaling
- Scegliere un kernel recente
- Cambio dello scheduler I/O da quello di default al NOOP
- Cambiare la modalità di mount delle partizioni memorizzate in dispositivi SSD
- Spostare cache e file temporanei in RAM
Uso di un filesystem senza journaling
I filesystem con journaling come Ext3, ReiserFS, xFS aumentano il numero di scritture su disco quindi sarebbe opportuno disabilitare la funzione di journaling (se possibile) oppure optare per un filesystem come il vecchio ext2 che non ha tale caratteristica, tenendo presente che sarà più facile perdere i dati se lo spegnimento del sistema non è fatto correttamente.
Scegliere un kernel recente
I kernel Linux più recenti includono dei meccanismi per migliorare l’interazione tra il sistema e i drive SSD. A partire dal kernel 2.6.27 sono state introdotti notevoli miglioramenti.
Cambio dello scheduler I/O da quello di default al NOOP
Lo scheduler I/O, cioè quella parte del sistema operativo che gestisce le scritture sui dischi e su altre periferiche di I/O, di default usato da Linux (di default a partire da 2.6.18) è il CFQ, ossia Completely Fair Queuing, non è proprio adatto alle SSD. Sono stati registrati migliori risultati prestazionali usando lo scheduler NOOP che è uno dei più semplici meccanismi per la gestione dell’I/O, non garantisce prestazioni elevate in assoluto ma è consigliato per le memorie SSD (anche per le memorie flash).
Per attivare il NOOP basta:
aprire il file
# nano /boot/grub/menu.lst
nella riga dove si trova il parametro kernel della voce con la quale avviamo il sistema operativo aggiungere elevator=noop
Esempio:
title Debian Lenny
root (hd0,0)
kernel /boot/vmlinuz-2.6.26 root=/dev/sda1 ro quiet splash elevator=noop
initrd /boot/initrd.img-2.6.26
quiet
Cambiare la modalità di mount delle partizioni memorizzate in dispositivi SSD
Un altra cosa da fare è cambiare l’opzione “relatime” con “noatime” nelle voci presenti nel file /etc/fstab:
aprire il file /etc/fstab
# nano /etc/fstab
Modificare similmente a come riportato sotto:
/dev/sda1 / ext2 noatime 0 1
Spostare cache e file temporanei in RAM
In più nello stesso file si possono aggiungere alcune righe che fanno sì che i file temporanei vengano memorizzati nella RAM (fare questa modifica solo se si ha molta RAM libera):
tmpfs /var/log tmpfs defaults,noatime,mode=0755 0 0
tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0
tmpfs /var/tmp tmpfs defaults,noatime,mode=1777 0 0