Optimisation SSD avec Ubuntu 2019

[ad_1]
ssd

Noter ce cours :

Liens sponsorisés :

GNU/Linux sur un SSD

 

L’utilisation d’un SSD avec une distribution GNU/Linux est un peu particulire, et pour certains elle pourra paratre plus dlicate matriser. D’abord, il faut quand mme prendre en compte (ou tout du moins connatre) trois points techniques lis aux SSD.

 

Alignement des partitions

 

Mme si l’alignement des partitions n’est pas spcifique aux SSD, il n’a que trs peu d’importance sur un spinoff, sauf dans le cas des volumes RAID5. L’alignement consiste faire correspondre les blocs logiques des partitions avec les blocs physiques du SSD pour amliorer les performances de celui-ci afin de limiter les oprations de lecture et d’criture.

 

Wear levelling

 

C’est une Technique utilise par les contrleurs des SSD. Elle consiste rpartir l’usure des puces mmoires en crivant le moins souvent possible dans les mmes cellules, et en profitant ainsi au maximum du
nombre de cycles de lecture-criture de chacune des cellules. De ce fait, avec un bon algorithme de
wear levelling, on arrive faire en sorte qu’un SSD ait une dure de vie de l’ordre de plusieurs annes.

 

Garbage collector

 

C’est un Mcanisme visant rorganiser la table d’allocation la vole, ce qui permet de conserver un bon niveau de performances lors d’critures squentielles sur une zone prcdemment crite de manire alatoire.

 

Avantage : on rcupre les performances d’origine du SSD en criture squentielle ou presque.

 

Inconvnient : on gnre de nombreuses critures dans les puces mmoire, ce qui a tendance amoindrir la dure de vie du SSD, et le disque travaillant en interne, il ne libre pas les pages de Flash comme le fait le TRIM, ce qui fait que cela n’est efficace que pour les critures squentielles, sans amliorer les critures alatoires. Tous les SSD semblent utiliser ce procd, de manire plus ou moins agressive, et ce la vole ou en tche de fond (on parle alors de background garbage collection) en fonction de l’objectif du fabricant.

 

Alignement des partitions

 

C’est quoi l’alignement ?

 

Le contrleur d’un SSD gre la mmoire par « blocs », gnralement de 1 Mio. Cela sert plusieurs choses : d’une part, les accs mmoire se font gnralement par blocs pour amliorer les performances, et d’autre part, ces blocs sont rgulirement permuts pour prolonger la dure de vie du disque.

 

Pour de bonnes performances, il est prfrable que le dbut des partitions concide avec le dbut des blocs. On appelle cela l’alignement.

 

Vrification de l’alignement du SSD

 

Par dfaut, lors du formatage d’un disque, Ubuntu dtecte qu’il s’agit d’un SSD et aligne les partitions automatiquement (y compris en partitionnement manuel).
Si vous voulez en tre sr, tapez dans un terminal:

 

sudo fdisk -lu /dev/sda

 

vous devriez obtenir quelques chose comme ceci :

 

Disque /dev/sda: ---- Go, -------------- octets
--- ttes, -- secteurs/piste, ------ cylindres, total ------- secteurs
Units = secteurs de 1 * 512 = 512 octets
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Identifiant de disque : ----------
Priphrique Amorce Dbut Fin Blocs Id Systme
/dev/sda1 XXXX YYYY ZZZZ 83 Linux

 

Vous pouvez alors vrifier que le dbut de chaque partition (« XXXX ») est un multiple de 2048 (secteurs). Comme un secteur fait 512 octets, et que 2048 512 = 1 Mio, votre SSD est align !

 

Formatage manuel du SSD (usage avanc)

 

Je ne m’tendrai pas sur ce point car cette mthode provient du forum http://forum.hardware.fr et elle a t initialement conue pour Arch Linux. La mthode de partitionnement est susceptible de varier sous Ubuntu.

 

Ne suivez cette mthode que si vous tes sr(e) de vous et uniquement si vous savez rsoudre des problmes pouvant arriver au cours d’un formatage !

 

Formatage automatique du SSD (de base)

 

Ne pas confondre formatage et partitionnement, mme si les deux sont lis, on peut parfaitement faire un formatage automatique, et un
partitionnement manuel.

 

Cest ce que jai choisis pour mon cas, j’ai partitionn mon SSD CORSAIR P64 – 64Go comme ceci :

 

Il n’y a pas de partition swap

 

Note: sur ma config principale Ubuntu 14.04 64Bits avec un SSD SAMSUNG Srie 850 EVO 250Go SATA III j’ai cr une partition Swap)

 

Pour plus d’info sur le Swap, lire le paragraphe 3

 

Optimiser l’usage du SSD

 

Il n’existe pas d’tude suffisamment claire quant la dure de vie des mmoires SSD par rapport aux disques durs. Les sections qui suivent vous expliquent comment minimiser les accs en criture du SSD.
Les points 2 4 sont rserves aux PC ayant plus de 512 Mio de mmoire vive (RAM).

 

1 – Rduire la frquence d’criture des partitions

 

Utilisez l’option noatime pour viter d’crire sur le disque la date du dernier accs en lecture lorsqu’il n’y a pas d’criture. De mme avec nodiratime pour les dossiers. note : il existe le mme type de rglage sur Windows pour les partitions NTFS
Vrifier que vos partitions sont montes avec cette option en ouvrant le fichier /etc/fstab dans un terminal avec les droits d’administration: [!] Prfrable d’utiliser nano plutt que gedit.

 

sudo gedit /etc/fstab

 

dans lequel vous trouvez des lignes telles que :

 

UUID=57480a3f-e7db-4a5e-9fca-7df45f5a7d9d / ext4 defaults,noatime,errors=remount-ro 0 1

 

Si noatime n’est pas indiqus aprs defaults , vous pouvez les rajouter (spars par une virgule)

 

nodiratime est superflu, car noatime est un sur-ensemble de nodiratime (qui est alors sous-entendu)

 

2 – Mettre les fichiers temporaires en mmoire vive

 

Le systme utilise un certain nombre de fichiers temporaires, qu’il n’est pas ncessaire de conserver d’un dmarrage l’autre. Il est possible de les placer dans la mmoire vive (qui est vide l’arrt de l’ordinateur) au lieu de les avoir dans le SSD. Cependant, certains logiciels (tels que l’environnement de bureau KDE) utilisent un grand nombre de fichiers temporaires, et devront alors les recrer, ce qui peut ralentir le dmarrage si vous utilisez ces logiciels.
Pour mettre les fichiers temporaires en mmoire vive (par exemple, pour une taille maximum de 1 Gio), ouvrez le fichier /etc/fstab comme prcdemment et ajoutez-y la ligne suivante :

 

tmpfs      /tmp            tmpfs        defaults,size=1g           0    0

 

On peut vrifier dans une fentre terminal que le « tmpfs » est bien prsent avec la commande : df

 

Sys. de fichiers    blocks de 1K    Utilis    Disponible    Uti%    Mont sur
/dev/sdd1    28705784    7528540    19696032    28%    /
none    4    0 4    0%    /sys/fs/cgroup
udev    4073556    12    4073544    1%    /dev
tmpfs    4088164    4232    4083932    1%    /tmp

 

Note: bizarrement ce rglage me crash
systmatiquement Firefox, j’ai pas la certitude que cela provienne de ce
rglage, du coup, j’ai remis celui que j’ai dans l’autre config avec
Ubuntu en 32Bits.

 

tmpfs      /tmp            tmpfs        defaults,noatime,mode=1777 00

 

Pour ceux qui laissent leur machine allume 24h/24, une astuce consiste placer une rgle cron qui vide les fichiers temporaires intervalle rgulier, afin de ne pas encombrer la mmoire.

Pour regarder le contenu de votre crontab, tapez dans un terminal :

 

crontab -l

 

Pour diter le fichier de votre crontab, tapez :

 

crontab -e

 

Par dfaut c’est l’diteur nano qui dite le fichier crontab

La commande mettre dans la tche cron est la suivante :

 

find /tmp -type f -mmin +1440 -delete > /dev/null

 

Pour ma part j’ai mis un dlais de 20mn pour vider les fichiers temporaires intervalle rgulier.

 

20 * * * *    find /tmp -type f -mmin +1440 -delete > /dev/null

 

Enregistrez le fichier en appuyant sur Ctrl + O et appuyez sur Entre pour confirmer. Appuyez sur Ctrl + X pour fermer nano aprs avoir sauvegard le fichier.

Quand vous sortez de l’diteur, le nouveau fichier crontab sera install. Le fichier est stock dans /var/spool/cron/crontabs/ mais doit seulement tre dit par l’intermdiaire de la commande crontab.

 

Si vous constatez des problmes de connexion certains sites sur lesquels vous tes enregistr(e), supprimez ce rglage

 

3 – Le Swap

 

Les SSD n’aiment pas le SWAP (partition d’change qui permet de dlester l’utilisation de la mmoire, mais oblige de multiple lectures/critures sur le priphrique). Il est possible de ne pas crer de partition SWAP durant l’installation d’Ubuntu en dfinissant les partitions manuellement (mode avanc). Cela va forcer l’utilisation de la mmoire vive et conomiser l’espace qu’aurait pris cette partition sur le disque dur !

 

Cette astuce ne s’adresse qu’ ceux dont la machine dispose d’au moins 1 Go de RAM. Il est possible dans ce cas, et suivant l’utilisation que l’on fait de la machine de ne pas se servir de swap. Pour cela, soit on ne cre 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 avec le symbole # :

 

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 prfrable d’utiliser la mthode consistant ne pas monter une partition de swap existante, de manire pouvoir la ractiver facilement en cas de besoin, l’utilisation du swap pouvant varier en fonction de l’utilisation de la machine. Si malgr tout vous avez cr une partition SWAP (notamment pour bnficier de l’hibernation sur les portables), mais que vous souhaitez en minimiser l’usage, rien n’est perdu pour autant, ouvrez le fichier /etc/sysctl.conf avec les droits d’administration: [!] Prfrable d’utiliser nano plutt que gedit.

 

sudo gedit /etc/sysctl.conf

 

et ajoutez la fin :

 

vm.swappiness=0

 

Cette ligne indique Ubuntu de n’utiliser la swap qu’en dernier recours quand votre RAM est pleine ! (Le chiffre « 1 » indique de l’utiliser seulement lorsqu’il ne reste que 1 % de disponible en RAM, « 2 » quand il reste 2 %, etc.).

 

Une autre mthode consiste activer zRAM,
qui est un module du noyau qui compresse la mmoire vive au lieu de la
dplacer dans la partition d’change en cas de manque de mmoire vive.
La partition d’change ne servant que si la mmoire vive est entirement
compresse. Pour ce faire il suffit d’installer le paquet
zram-config et le tour est jou.

 

sudo apt-get install zram-config

 

4 – Modifier le cache de Firefox

 

Pour dplacer le cache de Firefox dans le rpertoire /tmp/firefox (RAM). Taper about:config dans Firefox et crer une nouvelle chane de caractres que vous nommerez browser.cache.disk.parent_directory et saisir /tmp/firefox. Si vous avez une connexion suffisamment rapide, vous pouvez dsactiver compltement le cache persistant en modifiant l’option browser.cache.disk.enable avec la valeur false.

 

5 – Le Trimming.

 

Comme il a dj t dit, les disques SSD voient leurs performances diminuer mesure que les cellules (bloc mmoire) se remplissent (mme partiellement) et cela induit des performances en criture de plus en plus mdiocres mesure que le SSD vieillit et qu’il y a de moins en moins de cellules vierges disponibles.
Ce phnomne est d la manire dont le SSD fonctionne en criture au niveau des cellules de mmoire flash : si une cellule est vierge, le contrleur peut directement crire dedans – par contre si elle contient dj des donnes (mme 1 seul bloc d’allocation de 4k alors que la cellule contient 1024k au total), le contrleur doit lire la cellule + la remettre zro + crire les donnes.
Une opration beaucoup plus lente. Le Trimming a pour objet d’indiquer au contrleur du SSD lorsque des blocs d’allocation se librent suite l’effacement de fichiers par le filesystem (ce qu’il ne peut pas savoir directement priori); et donc que ces plages libres sont nouveau disponibles pour crire dessus – charge tant au contrleur de remettre zro les cellules qui peuvent l’tre et ainsi augmenter les cellules vierges disponibles. Bien entendu, il faut que le SSD supporte la commande TRIM afin de pouvoir raliser cette opration (ce qui est le cas pour la plupart des SSD rcent). Vous pouvez vrifier cela dans un terminal :

 

sudo hdparm -I /dev/sda

 

Cette commande permet de lister tous les paramtres et fonctionnalits du SSD. Dans le paragraphe « Commands/features » une ligne doit clairement indiquer le support TRIM. Il existe plusieurs mcanismes de Trimming des SSD :

 

Trimming la vole

 

Conditions requises :

 

    • Disposer d’un SSD supportant le TRIM

 

    • Utiliser une distribution proposant au moins le kernel 2.6.33

 

    • Utiliser EXT4 comme systme de fichier

 

C’est de loin la solution la plus facile et la plus souple. Il suffit alors d’diter son fichier /etc/fstab avec les droits d’administration: [!] Prfrable d’utiliser nano plutt que gedit.

 

sudo gedit /etc/fstab

 

Et de rajouter l’option discard dans les lignes correspondant au montage des volumes en ext4.

 

Note: Avec Ubuntu 14.04 le montage des fichiers systmes avec l’option « discard » n’est pas recommand

# /etc/fstab: static file system information.
#
# 
proc /proc proc defaults 0 0
# /dev/sda1
UUID=f0d9c48e-00c4-4225-ab21-1c5a42194bc8 / ext4 async,noatime,discard,errors=remount-ro 0 1
# /dev/sda2
UUID=43e974d7-82d9-43b1-b67b-5233b18f056e none swap sw 0 0
/dev/scd0 /media/cdrom0 udf,iso9660 user,noauto,exec,utf8 0 0

 

Ensuite les commandes de TRIM sont directement passes au contrleur du SSD par le kernel, de faon entirement transparente.

 

    • Activer le TRIM avec fstrim

 

Le montage des fichiers systmes avec l’option « discard » n’est pas recommand,
car cela se traduira probablement par une baisse des performances en
utilisation normale. Cependant, vous pouvez utiliser TRIM en excutant
la commande
fstrim occasionnellement ou de crer votre propre tche cron qui excute fstrim via un calendrier.

pour activer le TRIM de votre SSD sur Ubuntu, il suffit d’ouvrir un terminal et excutez la commande suivante:

 

sudo fstrim -v /

Si vous souhaitez excuter TRIM rgulirement, vous pouvez simplement
crer une tche cron qui excute la commande
fstrim pour vous.

Voil comment faire une tche cron qui le fera automatiquement
d’abord, excutez la commande suivante pour ouvrir l’diteur de texte nano avec les permissions root:

 

sudo nano /etc/cron.daily/fstrim

Saisir ou copier/coller le code suivant dans le fichier:

#!/bin/sh
LOG=/var/log/trim.log
echo « *** $(date -R) *** » >> $LOG
fstrim -v / >> $LOG
fstrim -v /home >> $LOG

 

Les deux dernires commandes dans le code ci-dessus effectuent le
Trimming relle pour la racine (/) et la partition (/ home) et consigne
les rsultats dans
/var/log/trim.log. Vous
devrez peut-tre modifier ces commandes pour adapter votre cas
particulier. Si vous ne disposez pas d’une partition / home spare vous
devez supprimer la dernire ligne. Ajoutez ici les partitions de SSD
pour lequel vous souhaitez activer le travail quotidien du TRIM
(normalement , vous devez ajouter  »
/ » si la partition racine est sur le SSD et « / home » si vous avez mis en place une partition home spare)

Enregistrez le fichier en appuyant sur Ctrl + O et appuyez sur Entre pour confirmer. Appuyez sur Ctrl + X pour fermer nano aprs avoir sauvegard le fichier
dernirement, excutez la commande suivante pour rendre le script excutable:

 

sudo chmod +x /etc/cron.daily/fstrim

 

Optimiser la vitesse du SSD

 

Input/Output Scheduling

 

Ce mcanisme de rarrangement des IOCTL (Input-Output ConTroL : contrles des entres/sorties) a pour objet d’optimiser les commandes I/O vers le disque dur ATA/SATA en prenant en compte la nature du disque dur en question et certaines contraintes en dcoulant.

 

Il y a trois options diffrentes : cfq, noop et deadline.

 

Par dfaut dans Ubuntu, l’option cfq est utilise car elle convient bien aux disques durs mcaniques, en rorganisant la queue des commandes I/O en fonction des temps de rotation des plateaux et des dlais de « seek » des ttes. Vous pouvez vrifier quel I/O Scheduler est utilis par votre systme dans un terminal comme ceci :

 

cat /sys/block/sda/queue/scheduler

 

L’option « deadline » est probablement la meilleure car elle optimise les I/O pour un gain en rapidit de temps d’accs aux SSD. Heureusement, il existe une manire simple de dclarer cette option « deadline » de faon permanente en la passant directement dans les paramtres donns au kernel lors du dmarrage.

 

6 – Pour grub2 (depuis Ubuntu 9.10)

 

Il faut modifier le fichier /etc/default/grub avec les droits d’administration: [!] Prfrable d’utiliser nano plutt que gedit.

 

sudo gedit /etc/default/grub

 

et rajouter « elevator=deadline » la ligne d’options :

 

GRUB_CMDLINE_LINUX_DEFAULT="elevator=deadline quiet splash"

 

puis mettre jour grub pour que les modifications soient passes grub.cfg :

 

sudo update-grub

 

Sources originales

 

Autres Sources

Alire Aussi: Optimiser Son SSD Trim Sur Windows 10

Vous avez aimé cet article intitulé Optimisation SSD avec Ubuntu ? Partagez-le !

[ad_2]

Source link

Laisser un commentaire