[ad_1]
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
[ad_2]