,

MXOR.COM[personal website]

L'optimisation SSD

(1) Supprimer le swap
Cette astuce ne s'adresse qu'à ceux dont la machine dispose d'au moins 1 Go de RAM (en pratique > 6 Go)
Il est possible dans ce cas, et suivant l'utilisation que l'on fait de la machine de ne pas se servir de swap.
Coit aucune partition de swap lors de l'installation de la distribution, soit, dans le fichier /etc/fstab, on commente la ligne montant le fichier swap :

UUID=bd746caf-bd0c-4649-baa7-d680bb91a6d0 swap swap defaults 0 0

devient alors :
#UUID=bd746caf-bd0c-4649-baa7-d680bb91a6d0 swap swap defaults 0 0

Il peut être préférable d'utiliser la méthode consistant à ne pas monter une partition de swpa existante, de manière à pouvoir la réactiver facilement en cas de besoin,
l'utilisation du swap pouvant varier en fonction de l'utilisation de la machine.

(2) Désactiver le logging
La plupart des démons logguent leurs activités. Or il est finalement assez rare d'aller consulter ces fichiers de log, car tant que la machine fonctionne correctement.
Du coup, on peut tout simplement désactiver le démon permettant le logging. Ce démon, syslog, est démarré par le système au boot de la machine.
Ainsi, en focntion de votre distribution, il faudra désactiver le lancement de ce démon.
Sous Arch, on pourra préfixer le démon syslog-ng d'un point d'exclamation pour en empécher le démarrage.

DAEMONS=(!syslog-ng hal cpufreq !network wicd netfs crond mpd @kdm)

Comme pour le swap, il est préférable de désactiver le lancement du démon plutôt que de le supprimer purement et simplement, son utilisation pouvant être nécessaire en cas de problème.

(3) Modifier les paramétres de journalisation
Par défaut, une partition en ext3 ou ext4 journalise non seulement les opérations d'écriture (ctime, l'heure de création, et mtime, l'heure de la dernière modification)
mais également les opérations de lecture (atime l'heure du dernier accès), ce qui génére une écriture à chaque lecture.
Dans le cas d'un SSD, c'est particuliérement problématique si on souhaite économiser la durée de vie de ce dernier.
C'est pourquoi, on peut désactiver la journalisation de lecture lors du montage des partitions, dans le fichier /etc/fstab en ajoutant le paramêtre noatime pour chacune des partitions ext4 sur le SSD :

UUID=db12430a-c622-4469-be4b-db24acb18922 / ext4 defaults,noatime 0 1

Pour ceux qui souhaitent utiliser ReiserFS de la même manière, c'est possible, avec la commande suivante :

UUID=db12430a-c622-4469-be4b-db24acb18922 / reiserfs defaults,noatime 0 1


(4) Activer le TRIM à la volèe
Si on dispose d'un SSD supportant le TRIM, qu'on utilise une distribution proposant au moins le kernel 2.6.33 et que l'on utilise ext4 comme système de fichier, on peut alors profiter des fonctions TRIM en temps réel et sans avoir à exécuter un script. Pour cela, il suffit d'ajouter l'option discard dans la ligne de montage des partitions concernées :

UUID=db12430a-c622-4469-be4b-db24acb18922 / ext4 defaults,noatime,discard 0 1

Attention : l'activation du TRIM peut provoquer des pertes de performances dans certains cas, retirez discard si vous constatez des baisses de performances et tournez vous vers un TRIM manuel régulier à l'aide du script Wiper (dans paquet hdparm)

(5) Placer la dossier temporaire en RamDisk
Afin de limiter les accès au SSD et ainsi éviter les lecture/écritures inutiles, il est intéressant de placer le dossier temporaire en RAM plutôt que sur le disque dur.
En plus d'accéler quelques traitements, cette méthode à également l'avantage de vider ce dossier à chaque boot.
Pour ce faire, dans /etc/fstab, on ajoutera la ligne suivante :

none /tmp tmpfs defaults,nosuid,nodev,noexec 0 0

Il peut égalementêtre intéressant, pour ceux qui laissent leur machine allumée 24h/24, de placer une régle cron qui vide les fichiers temporaires à intervalle régulier, afin de ne pas encombrer la mémoire. La commande à mettre dans la tâche cron est la suivante :
find /tmp -type f -mmin +1440 -delete > /dev/null

(6) Placer la partie "vivante" de FireFox en RamDisk
Cette astuce fonctionne indépendamment de la précédente, mais mise en place conjointement, elle se complétent parfaitement. Il s'agit ici de limiter les accès au SSD par FireFox, sans pour autant perdre tout son profil à chaque boot. Ainsi, on aura besoin de rsync pour réaliser les synchronisation de données. Avec FireFox fermé, on commence par dupliquer .mozilla dans un second dossier qui servira de sauvegarde lorsque la machine sera éteinte et de source de restauration lorsque la machine sera allumée :

cp -r .mozilla .mozilla_ref

On monte en RamDisk le répertoire du profil FireFox :

none /home/kortex/.mozilla tmpfs defaults,uid=1000,gid=100,mode=750 0 0

Ou on remplacera dans le chemin kortex par le nom de votre utilisateur, et où on s'assurera que les valeurs de uid et gid correspondent à celle de l'utilisateur et de son groupe principal. Ensuite, dans les scripts s'exécutant au démarrage et à l'extinction de la machine, on synchronise le répertoire de référence (.mozilla_ref) et le répertoire normal (.mozilla). A l'allumage de la machine :

rsync -a /home/kortex/.mozilla_ref/ /home/kortex/.mozilla/

A l'extinction de la machine :

rsync -a /home/kortex/.mozilla/ /home/kortex/.mozilla_ref/

Dans OpenSuse les fichiers à modifier : /etc/rd.d/boot.local et /etc/rc.d/halt.local

------------------------------------

HOWTO: Check If TRIM On Ext4 Is Enabled And Working On
note : /dev/sdX is the SSD drive you are testing.
(1) Become root:
su

(2) Make a 50MB file with random data:
dd if=/dev/urandom of=tempfile count=100 bs=512k oflag=direct

(3)Check the starting LBA address of the file:
hdparm --fibmap tempfile

(4)Read the first address of the file, note that you need to put the first LBA in place of [ADDRESS]:

hdparm --read-sector [ADDRESS] /dev/sdX

(5) Now remove the file and synchronize the filesystem:
rm tempfile
sync

(6)Use the same command as in 4 to re-read the LBA:
hdparm --read-sector [ADDRESS] /dev/sdX

If TRIM is properly working the result of the last command will be a bunch of zeros.
If the output is NOT zeros, then something is wrong with your kernel/Ext4 configuration and TRIM is NOT working.
Check also your BIOS (AHCI) and # dmesg | grep ahci


-------------------------------

Utiliser Wiper liens
# ./wiper.sh /dev/sdb2 --commit

Secure Erase SSD With bootable CD/USB Linux liens