Optimiser son SSD avec Ubuntu (et GNU/Linux) (MAJ)

dashboard, compteurs

Vaste sujet que les SSD. Si, ces disques sont clairement ultra-rapides en terme d'accès et de performance, comparés à un disque-dur "classique", ils semblent toutefois être fragiles sur le long terme et n'ont donc pas forcément une durée de vie importante ; d'où l'intérêt d'avoir une sauvegarde de ses documents dans un NAS en RAID 1.

Voici mes quelques astuces trouvées un peu partout, qui permettent de réduire leur utilisation.

Il faut savoir qu'avec ce type de disque, (Solid State Drive), nous n'avons surtout pas besoin d'une partition SWAP. qui passe souvent son temps à écrire des données - sauf si vous avez besoin de la fonction d'hibernation sur votre netbook, auquel cas, il faudra un swap de la même taille que votre mémoire. Il faut donc à l'installation d'Ubuntu, passer par un mode de partitionnement manuel afin de s'assurer qu'il n'y en aura pas. Si vous l'avez fait quand même, il vous suffit de commenter avec un # la ligne correspondant à la partition swap dans le fichier /etc/fstab. Ça tombe bien, on va rajouter des petites instructions dedans.

gksudo gedit /etc/fstab

Il est recommandé de rajouter "noatime,nodiratime", séparés par une virgule sans espace, ce qui va éviter d'écrire sur le disque le dernier accès lorsqu'il s'agit d'une simple lecture des fichiers et des répertoires. On peut aussi ajouter "discard" comme instruction, ce qui aura pour effet d'activer le TRIM automatique du SSD. Vous pouvez tester, et l'enlever le cas échéant à la ligne contenant l'UUID du disque. Sachez qu'une fois ce fichier modifié, il faudra redémarrer Ubuntu pour que les changements soient pris en compte.

noatime,nodiratime,discard,errors=remount-ro

Si vous avez injecté suffisamment de mémoire dans votre PC, il est aussi recommandé de mettre les fichiers temporaires dedans, en ajoutant ces lignes. Mais il se peut que sur le long terme, avec beaucoup de programmes ouverts, cela fasse planter le système. Commentez (avec un # devant) si c'est le cas. mais notez que que de toute manière, la durée de vie des SSD n'est plus vraiment un problème, et cette étape peut-être laissée de côté.

Mise à jour : Comme on me le signale par mail, il ne faut pas mettre en mémoire et ajouter /var/tmp. Voici en passant la différence entre /var/tmp et le /tmp. Dans la première, on doit trouver des occurrences qui sont censées être plus persistantes comme le mentionne le livre Filesystem Hierarchy Standard de Rusty Russell, Daniel Quinlan et Christopher Yeoh (au format epub)

# tmpfile
tmpfs	/tmp tmpfs		defaults,noatime,mode=1777	0	0
tmpfs	/var/log tmpfs		defaults,noatime,mode=0755	0	0 
tmpfs	/var/log/apt tmpfs	defaults,noatime,mode=0755	0	0
tmpfs	/var/run tmpfs		defaults,noatime,mode=0755	0	0
tmpfs	/var/lock tmpfs		defaults,noatime,mode=0755	0	0

Voici plus ou moins à quoi cela doit ressembler :


sudo reboot

Un peu plus loin dans l'écriture

On peut aussi aller plus loin en modifiant les séquences d'écritures qui sont souvent dans une file d'attente. Tout d'abord, vérifiez que votre disque supporte les fonctions "noop" et/ou "deadline". Remplacez la lettre X par la lettre de votre disque (sda, sdb, sdc...) ; la commande devrait vous retourner les deux.

cat /sys/block/sdX/queue/scheduler

Il ne vous reste plus qu'à ajouter deux lignes dans le fichier /etc/rc.local juste avant "exit 0". Mettez "deadline" si vous l'avez, ou remplacez par "noop".

gksudo gedit /etc/rc.local
echo deadline > /sys/block/sdX/queue/scheduler
echo 1 > /sys/block/sdX/queue/iosched/fifo_batch

D'autres optimisations

Il est possible d'utiliser la mémoire plutôt que le disque pour mettre à jour son système en utilisant un cache APT. Pour ceux qui le mettent régulièrement à jour, voilà de quoi réduire drastiquement les écritures sur disque. Ça concerne toujours les deux mêmes fichiers cités précédemment, mais pour ne pas tout mélanger, je préfère dédier une section. Voilà ce qu'il faut faire :

sudo chmod u+x /etc/rc.local
gksudo /etc/rc.local

Écrire avant exit 0 :

mkdir /var/cache/apt/archives/partial

Ouvrir le fichier fstab comme précédemment avec gksudo et ajouter une nouvelle ligne

tmpfs /var/cache/apt/archives/ tmpfs defaults,noatime 0 0

Optimiser Firefox pour utiliser la mémoire et non le SSD

Deux petites manipulations rapides sont à faire avec Firefox. D'abord, ouvrir l'adresse "about:config", et insérez au clic droit une nouvelle Chaîne de caractères contenant ceci, et ayant pour valeur /tmp

browser.cache.disk.parent_directory

Enfin, passer la valeur "browser.cache.disk.enable" à false en double-cliquant dessus.

Tester la vitesse et connaître son SSD

Pour connaître la vitesse de lecture de son SSD dans ubuntu (remplacez X par la lettre qui va bien - en général "a")

sudo hdparm -t /dev/sdX
sudo hdparm -Tt /dev/sdX

Pour connaître les informations de son SSD, numéro de série...

sudo hdparm -I /dev/sdX

Si vous avez d'autres astuces, des remarques ou des recommandations, n'hésitez pas à me le faire savoir (via les liens pour réagir à droite) ; je les rajouterai avec plaisir dans cet article.


Partager par mail ou sur Google Twitter Identi.ca facebook SeenThis
flattr this!