venerdì 25 aprile 2014

ottimizzare e allungare la vita degli ssd su Linux (2014)



Ho già fatto un piccolo articolo in cui spiegavo alcuni trucchi per migliorare le prestazioni degli ssd su Linux. Era diverso tempo fa e non avevo un ssd per cui riportai solo le opzioni più comuni da adottare quando si ha un ssd. Ora però sono il felice possessore di un crucialm4 e posso divertirmi un pò . In questo articolo non solo voglio scendere più nel dettaglio per i trucchetti ma voglio anche fare un confronto di prima e dopo in maniera tale da valutare le ottimizzazioni fatte di volta in volta.


Per prima cosa passiamo alle impostazioni di base che serviranno sia a migliorare la velocità che ridurre l'accesso all'ssd questo è molto importante perchè aumenterà la longevita del vostro ssd .

Ridurre la memoria swap
Il kenel è settato per usare la memoria di swap con un valore di 60 , questo determinerà accesso al vostro ssd in scrittura e lettura. Questo valore è generico e molto ampio nella maggior parte dei casi non avrete bisogno di tanta memoria di swap quindi riduciamola per farlo andiamo apriamo un terminale e lanciamo il comando :

sudo gedit /etc/sysctl.conf

Ora inseriamo nel file il valore desiderato a seconda della vostra ram
2gb=30
4gb=10
6gb=0
Nel mio caso sulla ubox(il mio mini-pc) uso 4gb ,quindi inserisco nel file

vm.swappiness = 10

Lettura dei file temporaney sulla ram
Altro vecchio e sacrosanto truccozzo è quello di caricare i file tmp sulla ram , in questo modo la lettura di questi file non graverà sull'ssd migliorando la longevità inoltre la lettura in ram è molto veloce quindi è un opzione comunque consigliata.
Apriamo il file fstab:

sudo gedit /etc/fstab

E incolliamo alla fine del file quanto segue :

tmpfs   /tmp       tmpfs   defaults,noatime,mode=1777   0  0
tmpfs   /var/spool tmpfs   defaults,noatime,mode=1777   0  0
tmpfs   /var/tmp   tmpfs   defaults,noatime,mode=1777   0  0

Se non avete bisogno dei file di log all'avvio aggiungete anche questa riga:

tmpfs   /var/log   tmpfs   defaults,noatime,mode=0755   0  0
 
 

Modificare le opzioni del file system
Ora modifichiamo le opzioni sul file /etc/fstab relative al nostro filesystem.
Apriamo come prima il file fstab



quindi portiamo ci sulla riga delle opzioni che di base dovrebbe apparire come segue :
UUID=10420088-0537-4bd2-926e-a61e703e23a0 /      ext4      relatime,errors=remount-ro    0       1

e modifichiamola con le opzioni dicard noatime e nodiratime , in maniera tale da ottenere una riga come questa:

UUID=10420088-0537-4bd2-926e-a61e703e23a0 /  ext4 discard,noatime,nodiratime,errors=remount-ro  0   1

Facciamo un pò di test :
Posto direttamente il risultato che ho ottenuto (per fare i benchmark del vostro ssd su linux consiglio questa pagina con i comandi per i vari ssd sul mercato).


velocità in lettura

La barra 1 corrisponde alle opzioni relatime,errors=remount-ro 
La barra 2 corrisponde alle opzioni discard,noatime,nodiratime,errors=remount-ro
La velocità in lettura è passata da 3504 a 3524 MB/s semplicemente cambiando un file ed ecco perchè adoro Linux.


velocità in scrittura

La barra 1 corrisponde alle opzioni relatime,errors=remount-ro 
La barra 2 corrisponde alle opzioni discard,noatime,nodiratime,errors=remount-ro
La velocità inscrittura è passata da 188 a 195 MB/s


Le "pagine sporche"
Lanciamo questo comando :



sysctl vm.dirty_background_ratio





Questo ci dice la percentuale di pagine sporche del sistema prima che vengano scritte sull'ssd,Il valore che otteniamo varia in base alla distro,su ubuntu è 5 e va bene.
Ora lanciamo il comando :

sysctl vm.dirty_ratio

questo indica la quantità di memria che sarà usata per le pagine sporche prima che vengano scritte sull ssd, per aumentare la longevità del nostro ssd ,sarà necessario aumentare questo valore.
Per modificare questi valori lanciamo il comando:

 sudo gedit /etc/sysctl.conf

e aggiungiamo alla fine del file le seguenti righe:

vm.dirty_background_ratio=5
vm.dirty_ratio=60


Salviamo e chiudiamo.
Ci sono molte altre opzioni li fuori ,se qualcuno volesse consigliarmene qualcuna sarò felice di provarle tutte.


Vedi anche :
Boot su ubuntu con ssd test prima e dopo varie ottimizzazioni
Migliorare le prestazioni della ram su Linux






Nessun commento: