Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
ssd_solid_state_drive [Le 27/02/2014, 14:58]
DDZ [Placer les fichiers temporaires en mémoire vive]
ssd_solid_state_drive [Le 02/02/2024, 09:47] (Version actuelle)
87.91.12.84 [Placer les fichiers temporaires en mémoire vive]
Ligne 2: Ligne 2:
 ---- ----
  
-====== Présentation ​du disque électronique ​======+<note tip>En l'an 2020, on installe le logiciel ubuntu dans une **seule** partition du SSD sans se compliquer la vie. Si on a la chance de disposer d'un disque disque dur, on l'​utilise pour y mettre ses données personnelles en utilisant une technique de [[http://​mezigoo.free.fr/​ps/​ps-com/​data.html|redirection]]. </​note>​ 
 +====== Présentation ​des disques SSD ======
  
-Les **disques ​électroniques** ([[https://fr.wikipedia.org/wiki/​Solid-state_drive| ​Les SSD sur Wikipédia]]sont constitués de mémoire flash, ils sont plus rapides et plus résistants aux chocs que leurs équivalents à plateaux (les HDD), mais leurs cycles d'​écriture sont limités. ​\\  +**//Si vous souhaitez seulement savoir si votre système est configuré pour les disques ​durs SSD, rendez-vous directement sur [[#​la_commande_trimactivation_et_utilisation|cette section de page]].//** 
-Afin d'​allonger leur durée de vie, vous pouvez utiliser au mieux Ubuntu pour l'​usage d'un disque électronique.\\+ 
 +Les **[[wpfr>​Solid-state_drive|disques électroniques]]** sont constitués de mémoire flash, ils sont plus rapides et plus résistants aux chocs que leurs équivalents à plateaux (les HDD), mais leurs cycles d'​écriture sont limités. 
 + 
 +Afin d'​allonger leur durée de vie, vous pouvez utiliser au mieux Ubuntu pour l'​usage d'un disque électronique. 
 + 
 +**Note importante** : on a désormais suffisamment d'​années de recul sur l'​utilisation des SSD pour se rendre compte qu'ils ont en général une très grande robustesse au niveau des cycles d'​écritures. Donc il est conseillé avant de tenter toute optimisation qui ne serait pas vraiment utile de juger de la rapidité à laquelle on use son SSD. On peut suivre cette usure au fil du temps avec des outils qui analysent les données SMART ( smartmontools,​ Gnome-disks ) 
 + 
 +En général, pour une utilisation classique la plupart des optimisations du taux d'​écriture sont inutiles.
 ===== Présentation des disques électroniques ===== ===== Présentation des disques électroniques =====
-Les disques durs traditionnels sont constitués de plateaux magnétiques et d'une tête de lecture mobile alors que les disques électroniques sont équipés de mémoire Flash. ​+ 
 +Les disques durs traditionnels sont constitués de plateaux magnétiques et d'une tête de lecture mobile alors que les disques électroniques sont équipés de mémoire Flash. ​L'​appellation « disque électronique » ou « disque SSD » est d'​ailleurs un abus de langage puisqu'​il n'y a pas de disque. 
 + 
 +<note importante>​ 
 +Note au rédacteur : si c'est un abus de langage pourquoi l'​utiliser pour cette page de la documentation ? Le terme disque électronique n'est pas courant, il serait mieux de le remplacer par SSD ? 
 +</​note>​ 
 +<note importante>​ 
 +France Terme propose "​disque statique à semi-conducteurs"​ ou en abrégé "​disque statique"​. [[http://​www.culture.fr/​franceterme/​terme/​INFO865|Source]]. 
 +</​note>​
  
 Les avantages de cette technique sont : Les avantages de cette technique sont :
-  * l'absence ​+  * absence d'​usure mécanique car aucune pièce n'est en mouvement, et donc un silence total et une faible fragilité mécanique ​; 
-    * d'​usure mécanique car aucune pièce n'est en mouvement, et donc un silence total et une faible fragilité mécanique, +  absence ​d'​effets de la fragmentation,​ étant donné qu'il n'y a plus besoin de déplacer de tête de lecture ​; 
-    * d'​effets de la fragmentation,​ étant donné qu'il n'y a plus besoin de déplacer de tête de lecture +  * des débits largement meilleurs : 
-  * Des débits largement meilleurs : \\ × Pour les disques durs, 220Mo/s maximum en lecture et écriture ​\\ × Pour les disques électroniques,​ jusqu'​à ​500Mo/s en lecture et 300Mo/s en écriture pour le matériel grand public, fin 2013. +    * pour les disques durs, 220 Mo/s maximum en lecture et écriture ​
-  * Des temps d'​accès nettement inférieurs à ceux des disques durs : \\ × de 5 à 15ms pour des disques durs \\ × 0,1ms en général pour les disques électroniques. +    * pour les disques électroniques ​Sata3, jusqu'​à ​504 Mo/s en lecture et écriture pour le matériel grand public, fin 2014 ; 
-  * Une consommation légèrement plus faible que les disques durs (tend à se resserrer de plus en plus).+  * temps d'​accès nettement inférieurs à ceux des disques durs : 
 +    * de 5 à 15 ms pour des disques durs 
 +    * 0,1 ms en général pour les disques électroniques ​; 
 +  * consommation légèrement plus faible que les disques durs (tend à se resserrer de plus en plus).
  
 Néanmoins, les disques électroniques n'ont pas que des avantages, et on peut leur reprocher : Néanmoins, les disques électroniques n'ont pas que des avantages, et on peut leur reprocher :
-  * Des capacités de stockage plus faibles que celles des disques durs. +  * des capacités de stockage plus faibles que celles des disques durs ; 
-  * Un prix largement plus élevé que les disques durs, même si on est passé à moins d'​1€/​Go (contre ​5cts/Go pour les disques durs) +  * un prix largement plus élevé que les disques durs, même si on est passé à moins d'1 €/Go (contre ​5 ¢/Go pour les disques durs) ; 
-  * Une technique ​qui a moins fait ces preuves ​que les disques durs massivement produits et utilisés depuis les années 80 (nombre de disques OCZ notamment ont eu de gros problèmes de fiabilité à long terme non liés à l'​usure). +  * une technologie ​qui a moins fait ses preuves ​par rapports aux disques durs qui sont massivement produits et utilisés depuis les années 80 (nombre de disques OCZ notamment ont eu de gros problèmes de fiabilité à long terme non liés à l'​usure) ​; 
-  * Une durée de vie limitée par le nombre de cycles lecture/​écriture auxquels sont soumises les puces mémoire. \\ **C'​est ce problème que nous allons réduire au maximum en utilisant au mieux Ubuntu.**+  * une durée de vie limitée par le nombre de cycles lecture/​écriture auxquels sont soumises les puces mémoire.\\ **C'​est ce problème que nous allons réduire au maximum en utilisant au mieux Ubuntu.** 
 + 
 +**certains indiquent cependant que 
 +"un SSD, ce n'est pas plus « fragile » qu'un disque mécanique. Certaines études tendraient même à montrer l'​inverse." ​**
  
 ==== Vocabulaire de la technique des disques électroniques ==== ==== Vocabulaire de la technique des disques électroniques ====
  
 === Ramasse-miettes ("​Garbage collector"​) === === Ramasse-miettes ("​Garbage collector"​) ===
 +
 Ce mécanisme permet de réorganiser les données sur le disque, pour permettre de conserver de bonnes performances après des écritures aléatoires. \\ Ce mécanisme permet de réorganiser les données sur le disque, pour permettre de conserver de bonnes performances après des écritures aléatoires. \\
 La plupart des disques l'​intègrent aujourd'​hui. La plupart des disques l'​intègrent aujourd'​hui.
  
 === Égalisation de l'​usure ("Wear levelling"​) === === Égalisation de l'​usure ("Wear levelling"​) ===
 +
 C'est un procédé utilisé par les contrôleurs de disques SSD. Elle consiste à répartir l'​usure des puces mémoires en écrivant le moins souvent possible dans les même 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 d'​égalisation de l'​usure,​ on arrive à faire en sorte qu'un disque électronique ait une durée de vie de l'​ordre de plusieurs années. C'est un procédé utilisé par les contrôleurs de disques SSD. Elle consiste à répartir l'​usure des puces mémoires en écrivant le moins souvent possible dans les même 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 d'​égalisation de l'​usure,​ on arrive à faire en sorte qu'un disque électronique ait une durée de vie de l'​ordre de plusieurs années.
  
Ligne 37: Ligne 61:
  
 === Alignement des partitions === === Alignement des partitions ===
 +
 L'​alignement des partitions consiste à faire coïncider le début des partitions avec les blocs physiques du disque. Peu important sur un disque dur (sauf les 4K), il améliore les performances et la durée de vie sur les disques électroniques.\\ L'​alignement des partitions consiste à faire coïncider le début des partitions avec les blocs physiques du disque. Peu important sur un disque dur (sauf les 4K), il améliore les performances et la durée de vie sur les disques électroniques.\\
-⇒ [[#aligner_les_partitions|Paragraphe sur l'​alignement des partitions]]+ 
 +→ § [[#Aligner les partitions]]
  
 Cette opération est maintenant faite automatiquement à l'​installation d'​Ubuntu si vous choisissez de refaire la table des partitions. Cette opération est maintenant faite automatiquement à l'​installation d'​Ubuntu si vous choisissez de refaire la table des partitions.
Ligne 44: Ligne 70:
 === La commande TRIM === === La commande TRIM ===
  
-Les disques électroniques écrivent par blocs de 4Kio, mais effacent par blocs de 128 ou 512 Kio, ce qui impose alors de nombreuses lectures/déplacements pour effacer des blocs, et donc une baisse énorme des performances du disque.\\+Les disques électroniques écrivent par blocs de 4 Kio, mais effacent par blocs de 128 ou 512 Kio, ce qui impose alors de nombreuses lectures ​ou de nombreux ​déplacements pour effacer des blocs, et donc une baisse énorme des performances du disque.
 La commande TRIM tend à réduire, voire à supprimer, cette baisse de performance grâce au travail en commun du système d'​exploitation et du disque électronique. La commande TRIM tend à réduire, voire à supprimer, cette baisse de performance grâce au travail en commun du système d'​exploitation et du disque électronique.
   * Tous les disques actuels le prennent en charge.   * Tous les disques actuels le prennent en charge.
   * Presque tous les SSD SATA le prennent en charge, même les plus anciens.   * Presque tous les SSD SATA le prennent en charge, même les plus anciens.
-  * Linux le prend en charge totalement à partir du noyau 2.6.33 avec Ext4, Btrfs, FAT, GFS2, XFS, etc. +  * Linux le prend en charge totalement à partir du noyau 2.6.33 avec ext4, Btrfs, FAT, GFS2, XFS, etc. 
-  * Pour les autres cas (Ext3, noyau antérieur au 2.6.33), il faudra le faire manuellement (seul Ubuntu 10.04 est encore maintenue pour les serveurs (plus pour les ordinateurs de bureau) et correspond à ce cas).+  * Pour les autres cas (ext3, noyau antérieur au 2.6.33), il faudra le faire manuellement (seul Ubuntu 10.04 LTS est encore maintenue pour les serveurs (plus pour les ordinateurs de bureau) et correspond à ce cas).
  
-===== La commande TRIM activation et utilisation =====+===== La commande TRIM activation et utilisation ===== 
 + 
 +<note importante>​ 
 +La commande TRIM à la volée est **activées-trim-ssd-drives** 
 +</​note>​ 
 + 
 +**Contrairement à ce qui est souvent dit, tous les SSD sont "​TRIMé"​ par défaut à partir de 14.04 LTS.** 
 +Seul quelques rares SSD ont été blacklistés à cause de bugs de firmware les concernant (On peut souvent lire que seuls les Intel et Samsung ont le TRIM à la volée actif par défaut, ce qui n'​était le cas que pour une version de développement d'​Ubuntu 14.04, la restriction a été retirée après des tests supplémentaires dans la version finale). 
 + 
 +Vous pouvez vérifier la prise en charge de la commande TRIM par votre SSD par la commande suivante où vous remplacez **/​dev/​sda** par l'​identifiant de votre disque :
  
-Voir le [[#​vocabulaire_de_la_technologie_ssd|vocabulaire de la technique des disques électroniques]].\\ 
-Vous pouvez vérifier le prise en charge de la commande TRIM par votre disque électronique par : 
 <code bash>​sudo hdparm -I /dev/sda | grep TRIM</​code>​ <code bash>​sudo hdparm -I /dev/sda | grep TRIM</​code>​
-où vous remplacez /dev/sda par l'​identifiant de votre disque.\\ 
-(Une sortie vide indique que la commande TRIM n'est **PAS** prise en charge par votre disque électronique.) 
-Sinon, une ligne doit clairement indiquer la prise en charge de la commande TRIM.\\ 
  
-Il existe plusieurs façons d'utiliser ​la commande TRIM :+Une sortie vide indique que la commande TRIM n'est **PAS** prise en charge par votre disque électronique. 
 +Sinon, une ligne doit clairement indiquer la prise en charge de la commande TRIM.
  
-==== La commande TRIM à la volée ==== +Exemple en cas de succès : 
-De loin la solution la plus facile et la plus souple.\\+<​file>​ 
 +    ​* Data Set Management TRIM supported (limit unknown) 
 +</​file>​ 
 +==== La commande TRIM à la volée ​du côté kernel ​====
  
-**La commande TRIM à la volée sera activée par défaut ​à partir d'​Ubuntu 14.04 sur les partitions ext4 et btrfs, aucune modification à faire à partir ​de cette version**+Notez encore une fois que **depuis Ubuntu 14.04 LTS, la commande TRIM est activée par défaut**((Source : https://www.leaseweblabs.com/​2013/​12/​ubuntu-14-04-lts-supports-trim-ssd-drives/​)). L'​usage ​de la méthode décrite ici n'est pas recommandée actuellement par Ubuntu.
  
-Il suffit ​de rajouter ​l'​option ''​discard''​ dans les lignes correspondant aux partitions ​en ext4 sur le disque électronique dans le fichier /etc/fstab : +Il suffit ​d'​ajouter ​l'​option ''​discard''​ dans les lignes correspondant aux partitions ​Ext4 sur le disque électronique dans le fichier /etc/fstab : 
-<code bash> ​sudo gedit /​etc/​fstab</​code>​ +<code bash>gksu gedit /​etc/​fstab</​code>​ 
-Et : +Et :
 <​file>​ <​file>​
 # /dev/sda1 # /dev/sda1
Ligne 81: Ligne 115:
 Dès le prochain démarrage, la commande TRIM sera activée de façon entièrement transparente. Dès le prochain démarrage, la commande TRIM sera activée de façon entièrement transparente.
  
-<note tip>Il semble qu'une meilleure méthode, plus véloce lors d'​effacement de nombreux petits fichiers, soit de lancer un script une fois par jour pour la commande TRIM (fstrim+tâche cron). Voir ici (en anglais...) : http://​www.webupd8.org/​2013/​01/​enable-trim-on-ssd-solid-state-drives.html ​\\ FIXME : Je ne suis pas convaincu… du tout\\ FIXME : Justifier/​expliquer ce manque de confiance dans cette méthode ? \\ +<note tip> 
-Justification:​ Si le disque électronique est constamment réécrit il peut rapidement venir à bout de blocs vierges et donc les performances reviendront au même à ce qu'​elles seraient si la commande TRIM n'​était pas exécutée avec la méthode du script ...</​note>​+Il semble qu'une meilleure méthode, plus véloce lors d'​effacement de nombreux petits fichiers, soit de lancer un script une fois par jour pour la commande TRIM (fstrim+tâche cron). Voir l'​article [[http://​www.webupd8.org/​2013/​01/​enable-trim-on-ssd-solid-state-drives.html|Enable TRIM On SSD (Solid-State Drives) In Ubuntu For Better Performance - Web UPD8]] (en anglais). 
 + 
 +Justification : Si le disque électronique est constamment réécritil peut rapidement venir à bout de blocs vierges et donc les performances reviendront au même à ce qu'​elles seraient si la commande TRIM n'​était pas exécutée avec la méthode du script ...  \\ FIXME : C'est pourtant la méthode qui semble actuellement implémentée et conseillée par ubuntu et d'​autres distributions (modulo le fait que le cron est hebdomadaire). 
 +</​note>​ 
 + 
 +==== Activer le TRIM avec fstrim ==== 
 +  
 +Il n'est pas recommandé le montage des fichiers systèmes avec l'​option "​**discard**",​ car cela se traduira probablement par une baisse des performances en utilisation normale. Cependant, vous pouvez utiliser TRIM en exécutant la commande **fstrim** occasionnellement ou de créer votre propre tâche cron qui exécute fstrim via un calendrier. 
 + 
 +Pour activer le TRIM de votre SSD sur Ubuntu, il suffit d'​ouvrir un terminal et exécutez la commande suivante : 
 + 
 +<code bash>​sudo fstrim -v / </​code>​ 
 + 
 +Vous pouvez exécuter la commande ci-dessus de temps en temps pour éviter la dégradation des performances sur les SSD. 
 + 
 +**Combien de fois vous devez l’exécuter ?** 
 + 
 +Cela dépend de combien de fois des fichiers sont supprimés à partir de votre SSD. Vous verrez une erreur si vous essayez d'​exécuter la commande avec un lecteur qui ne prend pas en charge TRIM. 
 + 
 +Si vous souhaitez exécuter TRIM régulièrement,​ vous pouvez simplement créer une tâche cron qui exécute la commande fstrim pour vous. 
 +Voilà comment faire une tâche cron qui le fera automatiquement 
 +d'​abord,​ exécutez la commande suivante pour ouvrir l'​éditeur de texte de [[nano|nano]] avec les permissions root: 
 + 
 +<code bash>​sudo nano /​etc/​cron.daily/​fstrim </​code>​ 
 + 
 +Saisir ou copier et coller le code suivant dans le fichier : 
 +<​file>​ 
 +#!/bin/sh 
 +fstrim / 
 +</​file>​ 
 + 
 +Enregistrez le fichier en appuyant sur **Ctrl + O** et appuyez sur **Entrée** pour confirmer. Appuyez sur **Ctrl + X** pour fermer nano après avoir sauvegardé le fichier. 
 + 
 +Dernièrement,​ exécutez la commande suivante pour rendre le script exécutable : 
 + 
 +<code bash>​sudo chmod +x /​etc/​cron.daily/​fstrim </​code>​ 
 + 
 +Ubuntu va maintenant lancer **fstrim** via un calendrier, comme il le fait pour d'​autres tâches de maintenance du système. 
 + 
 +[[https://​www.howtogeek.com/​176978/​ubuntu-doesnt-trim-ssds-by-default-why-not-and-how-to-enable-it-yourself/​|Source originale de cette procédure]]
  
 ==== La commande TRIM manuelle ==== ==== La commande TRIM manuelle ====
-Cette méthode n'est nécessaire que dans le cas d'une partition principale en Ext3 **ou** d'un noyau inférieur à 2.6.33. 
-Il est conseillé d'​exécuter la commande TRIM manuellement environ une fois par mois pour une utilisation normale du disque électronique.\\ 
-On ne peut pas lancer la commande TRIM manuellement sur une partition utilisée. Il faudra donc amorcer le système d'une clef USB autonome ou d'un disque dur externe.\\ 
  
-Nous allons utiliser le script **wiper.sh** qui est distribué ​avec le paquet **hdparm**. Il faut au minimum une version 9.28 ou plus élevée ​de hdparm. On peut vérifier la version dans un terminal :<code bash>​hdparm -V</​code>​ +Cette méthode n'est nécessaire que dans le cas d'une partition principale Ext3 **ou** d'un noyau inférieur à 2.6.33. 
-<note tip>Il est fortement conseillé d'​utiliser les sources les plus récentes de hdparm (pour moins de risques d'​incompatibilité…) ; ce qui implique de télécharger et de recompiler les sources du paquet hdparm. Vous serez guidés :+Il est conseillé d'​exécuter la commande TRIM manuellement environ une fois par mois pour une utilisation normale du disque électronique. 
 +On ne peut pas lancer la commande TRIM manuellement sur une partition utilisée. Il faudra donc amorcer le système d'une clef USB autonome ou d'un disque dur externe. 
 + 
 +Nous allons utiliser le script **wiper.sh** qui est fourni ​avec le paquet **hdparm**. Il faut la version 9.28 ou une plus récente ​de hdparm. On peut vérifier la version dans un terminal : 
 + 
 +<code bash>​hdparm -V</​code>​ 
 + 
 +<note tip> 
 +Il est fortement conseillé d'​utiliser les sources les plus récentes de hdparm (pour moins de risques d'​incompatibilité…) ; ce qui implique de télécharger et de recompiler les sources du paquet hdparm. Vous serez guidés :
   * Téléchargez la [[http://​sourceforge.net/​projects/​hdparm/​files/​latest/​download|dernière version de hdparm]]   * Téléchargez la [[http://​sourceforge.net/​projects/​hdparm/​files/​latest/​download|dernière version de hdparm]]
   * Décompressez l'​archive et copiez le dossier à la racine de la clef USB autonome   * Décompressez l'​archive et copiez le dossier à la racine de la clef USB autonome
-  * Amorcez le système de la clef USB en mode autonome, sans installer Ubuntu.+  * Amorcez le système de la clé USB en mode autonome, sans installer Ubuntu.
   * Ouvrez un terminal   * Ouvrez un terminal
-  * Allez dans le dossier contenant hdparm (Normalement, ''/​cdrom/​hdparm-9.xx''​)en lançant : ''​cd /​cdrom/​hdparm-9.*''​ +  * Allez dans le dossier contenant hdparm (normalement, ''/​cdrom/​hdparm-9.xx''​)en lançant : ''​cd /​cdrom/​hdparm-9.*''​ 
-  * Lancez, l'une après l'​autre,​ les commandes : <code bash>​make  +  * Lancez, l'une après l'​autre,​ les commandes : <code bash> 
-sudo make install</​code>​ +make  
-</​note> ​ * Allez dans le dossier ''​wiper''​ :  ​''​cd wiper''​+sudo make install 
 +</​code>​ 
 +</​note>​ 
 + 
 +  * Allez dans le dossier ''​wiper''​ :  ​<code bash>cd wiper''​</​code>​
   * Exécuter une simulation de la commande TRIM sur votre partition : <code bash>​sudo bash wiper.sh /​dev/​sda1</​code>​   * Exécuter une simulation de la commande TRIM sur votre partition : <code bash>​sudo bash wiper.sh /​dev/​sda1</​code>​
   * Si la simulation se passe bien, vous pouvez lancer réellement la commande TRIM en lançant : <code bash>​sudo bash wiper.sh --commit /​dev/​sda1</​code>​   * Si la simulation se passe bien, vous pouvez lancer réellement la commande TRIM en lançant : <code bash>​sudo bash wiper.sh --commit /​dev/​sda1</​code>​
  
-Si tout se passe bien, vous devriez pouvoir réamorcer de votre disque électronique. ​\\ +Si tout se passe bien, vous devriez pouvoir réamorcer ​le système ​de votre disque électronique.
 Il faut malheureusement recompiler et réinstaller hdparm à chaque démarrage sur la clef USB (à moins d'​avoir une clef USB en mode persistant). Il faut malheureusement recompiler et réinstaller hdparm à chaque démarrage sur la clef USB (à moins d'​avoir une clef USB en mode persistant).
  
Ligne 109: Ligne 191:
 ==== La commande TRIM d'un volume NTFS ==== ==== La commande TRIM d'un volume NTFS ====
  
-Grâce au même script ''​wiper.sh''​ que précédemment,​ nous pouvons exécuter la commande TRIM sur une partition NTFS. C'est très utile dans le cas d'un double-amorçage GNU-Linux/​Windows (XP ou Vista) qui ne prennent pas en charge la commande TRIM.\\ +Grâce au même script ''​wiper.sh''​ que précédemment,​ nous pouvons exécuter la commande TRIM sur une partition NTFS. C'est très utile dans le cas d'un double amorçage GNU-Linux/​Windows (XP ou Vista) qui ne prennent pas en charge la commande TRIM. 
-Il suffit ​que le volume NTFS ne soit pas en cours d'​utilisation (non monté).+Il faut que le volume NTFS ne soit pas en cours d'​utilisation (il doit être démonté).
  
 Le script ''​wiper.sh''​ se trouve normalement dans une archive, dans le dossier /​usr/​share/​doc/​hdparm/​wiper/​. Nous allons donc lancer : Le script ''​wiper.sh''​ se trouve normalement dans une archive, dans le dossier /​usr/​share/​doc/​hdparm/​wiper/​. Nous allons donc lancer :
-<code bash>cd /​usr/​share/​doc/​hdparm/​wiper/​+ 
 +<code bash> 
 +cd /​usr/​share/​doc/​hdparm/​wiper/​
 sudo gzip -d wiper.sh.gz sudo gzip -d wiper.sh.gz
 sudo fdisk -l # Pour repérer votre partition NTFS sudo fdisk -l # Pour repérer votre partition NTFS
Ligne 119: Ligne 203:
 sudo bash wiper.sh /dev/sdxx # Simulation de la commande TRIM sudo bash wiper.sh /dev/sdxx # Simulation de la commande TRIM
 </​code>​ </​code>​
 +
 Si tout se passe bien pendant la simulation, vous pouvez exécuter réellement la commande TRIM : Si tout se passe bien pendant la simulation, vous pouvez exécuter réellement la commande TRIM :
 +
 <code bash>​sudo wiper.sh /dev/sdxx --commit</​code>​ <code bash>​sudo wiper.sh /dev/sdxx --commit</​code>​
  
-<note tip>​Message si la partition NTFS n'a pas été démontée :+<note tip> 
 +Message si la partition NTFS n'a pas été démontée :
          ## "This is where we finally discover whether the filesystem actually          ## "This is where we finally discover whether the filesystem actually
          ## supports --fallocate or not.  Some folks will be disappointed here."          ## supports --fallocate or not.  Some folks will be disappointed here."
Ligne 129: Ligne 216:
 ===== Choix du système de fichier ===== ===== Choix du système de fichier =====
  
-Le choix du système de fichiers pour un disque électronique est problématique. En effet, comme on l'a dit précédemment,​ on cherche à éviter au maximum les écritures inutiles sur un disque électronique pour en préserver au maximum la durée de vie. \\ +Le choix du système de fichiers pour un disque électronique est problématique. En effet, comme on l'a dit précédemment,​ on cherche à éviter au maximum les écritures inutiles sur un disque électronique pour en préserver au maximum la durée de vie. 
-Par la même occasion, les systèmes de fichiers modernes sont tous journalisés,​ c'​est-à-dire qu'ils stockent de nombreuses informations sur les accès aux fichiers, ce qui génère de nombreuses écritures mais garantit également dans une certaine mesure la sécurité des données en cas de plantage du système. On se trouve donc devant un conflit d'​intérêt+Par la même occasion, les systèmes de fichiers modernes sont tous //journalisés//, c'​est-à-dire qu'ils stockent de nombreuses informations sur les accès aux fichiers, ce qui génère de nombreuses écritures mais garantit également dans une certaine mesure la sécurité des données en cas de plantage du système. On se trouve donc devant un conflit d'​intérêt.
-  +
-Le [[btrfs|BTRFS]] est certes le meilleur système de fichiers, mais étant encore "en développement",​ il est à proscrire pour les non-avertis (malgré tout sa stabilité/​fiabilité est devenue tout à fait potable à partir de Ubuntu 13.04).+
  
-Je tiens malgré tout à préciser que les disques électroniques ont été conçus pour être utilisés sur des systèmes d'​exploitations modernes, utilisant tous des systèmes de fichiers journalisés,​ comme NTFS sous Windows, HFS+ sous Mac OS X, et Ext4 sous GNU-Linux. +Le [[BTRFS]] est certes le meilleur système de fichiers, mais étant encore « en développement »,​ il est à proscrire pour les non avertis (malgré ​tout sa stabilité/​fiabilité est devenue ​tout à fait potable à partir de Ubuntu 13.04). 
-On peut donc clairement modérer les répercussions négatives de ces systèmes de fichiers sur l'​usure d'​un ​disques électroniques.+ 
 +Il faut malgré tout préciser que les disques électroniques ont été conçus pour être utilisés sur des systèmes d'​exploitations modernes, utilisant tous des systèmes de fichiers journalisés,​ comme NTFS sous Windows, HFS+ sous Mac OS X, et Ext4 sous GNU-Linux. 
 +On peut donc clairement modérer les répercussions négatives de ces systèmes de fichiers sur l'​usure d'​un ​disque électronique.
  
 ==== Utilisation d'un système de fichiers journalisé ==== ==== Utilisation d'un système de fichiers journalisé ====
  
-Le principal intérêt des systèmes de fichiers journalisés est de garantir une bien plus grande sécurité des données en cas de plantage du système ou d'​extinction brutale de la machine. La journalisation entrant en conflit avec la durée de vie des disques électroniques,​ il est difficile de faire un choix. ​\\ +Le principal intérêt des systèmes de fichiers journalisés est de garantir une bien plus grande sécurité des données en cas de plantage du système ou d'​extinction brutale de la machine. La journalisation entrant en conflit avec la durée de vie des disques électroniques,​ il est difficile de faire un choix. 
-Néanmoins, ce qui ressort des discussions sur la toile et des déclarations des fabricants autant que des sites spécialisés est que l'​égalisation de l'​usure permet de s'​affranchir de ce problème, en gérant directement au niveau du contrôleur (un petit processeur en interne dans le disque électronique) l'​usure des puces mémoire. L'​utilisation des systèmes de fichiers ​ext4 ou ReiserFS ne devrait donc poser aucun problème sur les disques électroniques assez récents, qui incorporent une bonne gestion de l'​égalisation de l'​usure. ​\\ + 
-Pour finir, on soulignera que seul Ext4 et [[btrfs|BTRFS]] prennent en charge la commande TRIM à la volée pour les disques électroniques qui le permettent (voir le paragraphe sur la commande TRIM). +Néanmoins, ce qui ressort des discussions sur la toile et des déclarations des fabricants autant que des sites spécialisés est que l'​égalisation de l'​usure permet de s'​affranchir de ce problème, en gérant directement au niveau du contrôleur (un petit processeur en interne dans le disque électronique) l'​usure des puces mémoire. L'​utilisation des systèmes de fichiers ​Ext4 ou ReiserFS ne devrait donc poser aucun problème sur les disques électroniques assez récents ​(à partir de 2016 ???), qui incorporent une bonne gestion de l'​égalisation de l'​usure. 
-Sur les disques électroniques actuels la prise en charge de la commande TRIM a une conséquence bien plus bénéfique sur leur durée de vie que l’absence de journalisation.+ 
 +Pour finir, on soulignera que seul Ext4 et [[BTRFS]] prennent en charge la commande TRIM à la volée pour les disques électroniques qui le permettent (voir le paragraphe sur la commande TRIM). 
 +Sur les disques électroniques actuelsla prise en charge de la commande TRIM a une conséquence bien plus bénéfique sur leur durée de vie que l’absence de journalisation.
  
 ==== Utilisation d'un système de fichier non journalisé ==== ==== Utilisation d'un système de fichier non journalisé ====
  
-Désactiver la journalisation permet de ne pas générer d'​écritures en dehors de l'​écriture brute de données. Sans journal, un système de fichiers n'est plus capable de savoir quand des données ont été interrompues en pleine écriture. Le tout peut créer des défections en cas de coupure de courant, etc ...+Désactiver la journalisation permet de ne pas générer d'​écritures en dehors de l'​écriture brute de données. Sans journal, un système de fichiers n'est plus capable de savoir quand des données ont été interrompues en pleine écriture. Le tout peut créer des défections en cas de coupure de courant, etc.
  
 Le journal est une petite partie du système de fichier écrite à chaque changement du système de fichier. Ce journal est situé invariablement au même endroit du disque dur. Cette dernière caractéristique fait que l'on peut être préoccupé par l'​usure de cette partie du disque électronique si votre disque électronique a une mauvaise gestion de l'​égalisation de l'​usure. Le journal est une petite partie du système de fichier écrite à chaque changement du système de fichier. Ce journal est situé invariablement au même endroit du disque dur. Cette dernière caractéristique fait que l'on peut être préoccupé par l'​usure de cette partie du disque électronique si votre disque électronique a une mauvaise gestion de l'​égalisation de l'​usure.
Ligne 152: Ligne 241:
 Si vous le voulez vous pouvez donc désactiver la journalisation de Ext4. Si vous le voulez vous pouvez donc désactiver la journalisation de Ext4.
  
-  * Pour savoir si une partition Ext4 est journalisée,​ il faut regarder si le drapeau **has_journal** est présent avec la commande suivante en remplaçant **sda1** par l'​identifiant de votre partition (sda2, hdb1, ...) : +  * Pour savoir si une partition Ext4 est journalisée,​ il faut regarder si le drapeau **has_journal** est présent avec la commande suivante en remplaçant **sda1** par l'​identifiant de votre partition (sda2, hdb1, ...) : <code bash>
-<code bash>+
 sudo tune2fs -l /dev/sda1 | grep feature sudo tune2fs -l /dev/sda1 | grep feature
 Filesystem features: ​     has_journal ext_attr resize_inode dir_index filetype extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize</​code> ​ Filesystem features: ​     has_journal ext_attr resize_inode dir_index filetype extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize</​code> ​
-  * Pour passer d'une partition journalisée à une partition non journalisée,​ il suffit de désactiver la journalisation,​ puis lancer l'​utilitaire de vérification du système de fichier Ext4 qui se chargera de supprimer le journal: +  * Pour passer d'une partition journalisée à une partition non journalisée,​ il suffit de désactiver la journalisation,​ puis lancer l'​utilitaire de vérification du système de fichier Ext4 qui se chargera de supprimer le journal: <code bash>
-<code bash>+
 sudo tune2fs -O^has_journal /dev/sda1 sudo tune2fs -O^has_journal /dev/sda1
 sudo e2fsck -f -v -C0 /dev/sda1 sudo e2fsck -f -v -C0 /dev/sda1
 </​code>​ </​code>​
  
-(Si votre partition est une partition système, le procédé devra être fait à partir d'un cédérom ou d'une clef USB autonome par exemple). +(Si votre partition est une partition système, le procédé devra être fait à partir d'un cédérom ou d'une clef USB autonome par exemple. Au cours de la manipulation en live il faut démonter le disque concerné).
 ===== Minimiser l'​usage du disque électronique ===== ===== Minimiser l'​usage du disque électronique =====
 +==== Placer les dossiers à contenu volatile sur un disque mécanique ====
 +Les systèmes POSIX ont l'​intérêt d'​identifier clairement **/var** comme le dossier système dont les fichiers sont modifiés le plus fréquemment.
 +Ainsi, si l'on monte **/var** et **/home** sur les partitions d'un disque mécanique, l'​usure du SSD sur lequel est monté la racine du système est grandement réduite. Par ailleurs, si le disque mécanique ne contient que **/var** et **/home**, il peut tourner à faible vitesse (< 6000 tours/​minute) pour réduire la consommation,​ le bruit et l'​usure mécanique.
  
 +<note warning>​Les SSD ont, en 2022, une taille importante et /home contient ​ de plus en plus en plus de logiciels... Il est devenu inutile de mettre le répertoire home dans une partition dédiée surtout dans un disque dur. </​note><​note warning>​N'​y a-t-il pas contradiction ​ en disant que le répertoire /var peut être  installé dans un disque mécanique tournant à faible vitesse alors   ​qu'​il serait le répertoire le plus sollicité???​ </​note>​
 ==== Placer les fichiers temporaires en mémoire vive ==== ==== Placer les fichiers temporaires en mémoire vive ====
  
 Le système utilise un certain nombre de fichiers temporaires,​ qu'il n'est pas nécessaire de conserver d'un démarrage à l'​autre. Il est ainsi possible de les placer dans la mémoire vive (qui est vidée à l'​arrêt de l'​ordinateur) au lieu de les avoir sur le disque électronique. Le système utilise un certain nombre de fichiers temporaires,​ qu'il n'est pas nécessaire de conserver d'un démarrage à l'​autre. Il est ainsi possible de les placer dans la mémoire vive (qui est vidée à l'​arrêt de l'​ordinateur) au lieu de les avoir sur le disque électronique.
-=== Pour /tmp === + 
-Pour mettre les fichiers temporaires en mémoire vive, [[tutoriel:​comment_modifier_un_fichier|ouvrez le ficher]] ​''​/etc/fstab'' ​avec les droits d'​administration et ajoutez-y la ligne suivante (ici, pour une taille maximale de 1 Gio) : +=== Pour « /tmp » ​=== 
-<code bash>+ 
 +Pour mettre les fichiers temporaires en mémoire vive, [[:tutoriel:​comment_modifier_un_fichier|ouvrez le ficher]] ​**/etc/fstab** avec les droits d'​administration et ajoutez-y la ligne suivante (ici, pour une taille maximale de 1 Gio) : 
 +<file fstab>
 tmpfs      /tmp            tmpfs        defaults,​size=1g ​          ​0 ​   0 tmpfs      /tmp            tmpfs        defaults,​size=1g ​          ​0 ​   0
-</code>+</file>
  
 === Mettre « /var/log/ » en mémoire vive  === === Mettre « /var/log/ » en mémoire vive  ===
  
-Sous GNU-Linux, il y a une quantité impressionnante de fichiers **logs** (journaux d'​activité) générés par le système, les démons, des processus divers et des applications.\\+Sous GNU-Linux, il y a une quantité impressionnante de fichiers **logs** (journaux d'​activité) générés par le système, les démons, des processus divers et des applications. 
 Tous ces fichiers n'ont aucune incidence sur le système ou les applications -- ce ne sont que des rapports d'​activité de processus internes -- et de surcroît ils n'ont pas d'​intérêt particulier pour l'​utilisateur lambda. Tous ces fichiers n'ont aucune incidence sur le système ou les applications -- ce ne sont que des rapports d'​activité de processus internes -- et de surcroît ils n'ont pas d'​intérêt particulier pour l'​utilisateur lambda.
  
-**On peut monter ce répertoire ​en mémoire vive au démarrage.**+**On peut monter ce dossier ​en mémoire vive au démarrage.**
   * Avantage : diminution considérable d'​écritures inutiles faites en continu sur le disque électronique   * Avantage : diminution considérable d'​écritures inutiles faites en continu sur le disque électronique
   * Inconvénient : tous les journaux seront perdus à chaque redémarrage (plus d'​historique)   * Inconvénient : tous les journaux seront perdus à chaque redémarrage (plus d'​historique)
  
-Il suffit d'​effectuer (presque) la même chose que pour ''/​tmp'',​ en rajoutant ​dans /etc/fstab la ligne : +Il suffit d'​effectuer (presque) la même chose que pour ''/​tmp'',​ en ajoutant ​dans /etc/fstab la ligne : 
-<code bash>tmpfs /var/log tmpfs defaults,​nosuid,​nodev,​noatime,​mode=0755,​size=5% 0 0</code>+ 
 +<file> 
 +tmpfs /var/log tmpfs defaults,​nosuid,​nodev,​noatime,​mode=0755,​size=5% 0 0 
 +</file> 
 Après un redémarrage,​ tous ces fichiers de journalisation seront écrits dans un dossier temporaire en mémoire vive et perdus à l'​arrêt du système. Après un redémarrage,​ tous ces fichiers de journalisation seront écrits dans un dossier temporaire en mémoire vive et perdus à l'​arrêt du système.
  
-<note tip>À noter : les journaux de la session ​en cours seront toujours disponibles ainsi que la commande terminal **dmesg** et l'​application « [[:​gnome-system-log|Visionneur de journaux système]] ».</​note>​+<note tip> 
 +La mise en mémoire vive de /var/log peut, dans certains cas du moins, perturber, voire empêcher, la mise en veille ou la sortie de veille du système. 
 +</​note>​ 
 + 
 +<note tip> 
 +À noter : les journaux de la session ​__en cours__ ​seront toujours disponibles ainsi que la commande terminal **dmesg** et l'​application « [[:​gnome-system-log|Visionneur de journaux système]] ». 
 +</​note>​ 
 +<note importante>​ 
 +Vu l'​utilité **considérable**,​ en dépannage, des logs des sessions __précédentes__,​ mettre /var/log en mémoire vive est un choix très **contestable**,​ sinon aberrant.\\ À chacun de choisir entre **léger** gain de rapidité et **fiabilité**.\\ \\ Nota : on peut aussi mettre /var/log sur le __disque classique__ (ou, à défaut car c'est un peu moins rapide et moins durable, sur une __carte mémoire__). 
 +</​note>​
  
 === Cache des mises à jour et paquets téléchargés === === Cache des mises à jour et paquets téléchargés ===
 +<note warning>​**Ceci bloquera les mises à jour du système si vous êtes sous la 18.04 et ultérieur**</​note>​
 +Même technique que précédemment,​ mais il est toutefois conseillé d'​être équipé d'un minimum de 6 Gio de mémoire vive pour cette opération.
  
-Même technique que précédemment,​ mais il est toutefois conseillé de disposer d'au moins 6Go de mémoire vive pour cette opération. +<file fstab>​tmpfs ​   /​var/​cache/​apt/​archives ​   tmpfs    defaults,​size=4g ​   0    0</file>
- +
-<code bash>​tmpfs ​   /​var/​cache/​apt/​archives ​   tmpfs    defaults,​size=4g ​   0    0</code>+
  
 Avant le prochain redémarrage,​ il faut également vider le cache d'apt, via cette commande : Avant le prochain redémarrage,​ il faut également vider le cache d'apt, via cette commande :
Ligne 200: Ligne 306:
 <code bash>​sudo apt-get clean</​code>​ <code bash>​sudo apt-get clean</​code>​
  
-Cette opération a cependant un défaut : en cas d'​impossibilité pour votre machine, d'​accéder à l'​Internet,​ vous ne pourrez pas installer les paquets qui seraient restés dans le cache lors d'un redémarrage.\\ +Cette opération, fortement déconseillée, ​a cependant un défaut : en cas d'​impossibilité pour votre machine, d'​accéder à l'​Internet,​ vous ne pourrez pas installer les paquets qui seraient restés dans le cache lors d'un redémarrage. 
-Par contre, sachant que tous les fichiers sont téléchargés en mémoire vive, votre système pourra installer des logiciels et se mettre à jour beaucoup ​plus vite, tant par le débit en lecture de la mémoire vive, que le fait de soulager le disque électronique en lecture, permettant ainsi un débit optimal en écriture.+Par contre, sachant que tous les fichiers sont téléchargés en mémoire vive, votre système pourra installer des logiciels et se mettre à jour bien plus vite, tant par le débit en lecture de la mémoire vive, que le fait de soulager le disque électronique en lecture, permettant ainsi un débit optimal en écriture.
 Enfin évidemment,​ vu la fréquence d'​apparitions de mises à jour, autant économiser la durée de vie du disque électronique au maximum. Enfin évidemment,​ vu la fréquence d'​apparitions de mises à jour, autant économiser la durée de vie du disque électronique au maximum.
  
 === Autres dossiers système === === Autres dossiers système ===
 +
   * Les dossiers /var/run et /var/lock sont maintenant des liens pointant vers /run lui-même monté en tmpfs par le système au démarrage, les mettre dans le fstab est donc redondant.   * Les dossiers /var/run et /var/lock sont maintenant des liens pointant vers /run lui-même monté en tmpfs par le système au démarrage, les mettre dans le fstab est donc redondant.
-  * Le passage de /var/log en tmpfs **pose des problèmes** avec apache, qui a besoin que le dossier /​var/​log/​apache2 soit créé avant de démarrer. Pour une solution à ce problème voir : http://​weits.blogspot.fr/​2012/​03/​laptop-ssd-tmpfs-and-apache.html+  * Le passage de /var/log en tmpfs **pose des problèmes** avec apache, qui a besoin que le dossier /​var/​log/​apache2 soit créé avant de démarrer. Pour une solution à ce problème voir : [[http://​weits.blogspot.fr/​2012/​03/​laptop-ssd-tmpfs-and-apache.html|cette page]]
   * Apparemment,​ même constat avec Samba que Apache   * Apparemment,​ même constat avec Samba que Apache
-  * /var/tmp ne doit **absolument pas** se trouver dans tmpfs, comme il est indiqué ​ici : http://​ubuntuone.com/​6KWd2jN40GRqdVkVpQFOv0 ​\\ "​...for programs that require temporary files or directories that are preserved between system reboots. Therefore, data stored in /var/tmp is more persistent than data in /tmp. Files and directories located in /var/tmp must not be deleted when the system is booted. Although data stored in/var/tmp is typically deleted in a site-specific manner, it is recommended that deletions occur at a less frequent interval than /tmp." So, I deleted that line in the community docs."+  ​* Apparemment,​ même constat avec mysql que Apache 
 +  ​* /var/tmp ne doit **absolument pas** se trouver dans tmpfs, comme il est indiqué ​[[http://​ubuntuone.com/​6KWd2jN40GRqdVkVpQFOv0|ici]]
  
-Vous pouvez ajouter autant de dossiers que vous souhaitez en mémoire vive. Contrairement à Windows et ses disques virtuels réclamant immédiatement la mémoire allouée sur la mémoire vive, ici son utilisation est dynamique : ne sera donc consommé que ce qui est utilisé par les dossiers mis en mémoire vive.+Vous pouvez ajouter autant de dossiers que vous souhaitez en mémoire vive. Contrairement à Windows et ses disques virtuels réclamant immédiatement la mémoire allouée sur la mémoire vive, ici son utilisation est dynamique :​ ne sera donc consommé que ce qui est utilisé par les dossiers mis en mémoire vive.
  
 === Le cache personnel === === Le cache personnel ===
  
-<note warning>​Attention la procédure suivante est susceptible de casser votre session **Unity** sous **Ubuntu 13.10**. Unity n'a pas l'air d'​apprécier qu'on lui ôte le dossier /home/nomd'​utilisateur/​.cache.+<note warning> 
 +Attentionla procédure suivante est susceptible de casser votre session **Unity**. Unity n'a pas l'air d'​apprécier qu'on lui ôte le dossier /home/nom-d'​utilisateur/​.cache.
 </​note>​ </​note>​
  
 Même technique que pour ci-dessus, il suffit de remplacer le chemin /tmp par /​home/​nomd'​utilisateur/​.cache,​ ce qui donne : Même technique que pour ci-dessus, il suffit de remplacer le chemin /tmp par /​home/​nomd'​utilisateur/​.cache,​ ce qui donne :
-<code>​tmpfs ​   /​home/​nomd'​utilisateur/​.cache ​   tmpfs    defaults,​size=1g ​   0    0</code>+ 
 +<file fstab>​tmpfs ​   /​home/​nomd'​utilisateur/​.cache ​   tmpfs    defaults,​size=1g ​   0    0</file> 
 Vu les temps d'​accès des disques électroniques,​ il est inutile de conserver les caches d'​applications indéfiniment. Vu les temps d'​accès des disques électroniques,​ il est inutile de conserver les caches d'​applications indéfiniment.
-<note warning>​la procédure ci-dessus supprime aussi le cache de http://​doc.ubuntu-fr.org/​shotwell,​ obligeant celui-ci à reconstruire toute la base de vignetttes de prévisualisation à chaque démarrage</​note>​ 
  
-Avant l'​opération,​ pensez à supprimer le contenu du dossier ​''​.cache'' ​de votre dossier personnel.+<note warning>​ 
 +La procédure ci-dessus supprime aussi le cache de [[:​Shotwell]],​ obligeant celui-ci à reconstruire toute la base de vignettes de prévisualisation à chaque démarrage. 
 +</​note>​ 
 + 
 +Avant l'​opération,​ pensez à supprimer le contenu du dossier ​« .cache » ​de votre dossier personnel.
  
 === Modifier le cache de Firefox === === Modifier le cache de Firefox ===
  
-Pour que Firefox place son cache dans le répertoire ''​/tmp'' ​(qui est en mémoire vive), +Pour que Firefox place son cache dans « /tmp » (qui est en mémoire vive) : 
-  * Allez à la page ''​about:​config''​ dans Firefox  +  * allez à la page ''​about:​config''​ dans Firefox ​; 
-  * Clic-droit → Créez une nouvelle chaîne de caractères,​ que vous nommerez ''​browser.cache.disk.parent_directory''​ et entrez dans la case ''​tmp''​.+  * clic-droit → //Créez une nouvelle chaîne de caractères//, que vous nommerez ''​browser.cache.disk.parent_directory''​ et entrez dans la case ''​/tmp''​.
  
-==== La partition d'​échange SWAP ====+Autre option : désactiver le cache de Firefox.
  
-Il est possible de ne pas créer de partition d'​échange SWAP durant l'​installation d'​Ubuntu en définissant les partitions manuellement (avancé). Cela permet de forcer l'​utilisation de la mémoire vive et d'​économiser l'​espace qu'​aurait pris cette partition sur le disque dur ! \\ 
-Mais cette opération est hautement déconseillée !  \\ 
-La partition swap sert en effet aussi pour bénéficier de l'​hibernation (mise en veille prolongée) et aussi permet de soulager la mémoire vive en cas de pénurie, sans ça l'​ordinateur figerait purement et simplement pendant un certain nombre de secondes et finira par fermer aléatoirement un programme pour permettre de continuer à utiliser l'​ordinateur dans de bonnes conditions. 
  
-Pour ne pas utiliser la partition ​SWAP, il existe deux méthodes:​ +=== Interdire la compression des fichiers de trace === 
-  * Activer zRAM, qui est un module du noyau qui compresse la mémoire vive au lieu de la déplacer dans la partition ​swap en cas de manque de mémoire vive. La partition ​Swap ne servant que si la mémoire vive est entièrement compressée(pour ce faire il suffit d'​installer le paquet zram-config ​et le tour est joué+Si le repertoire **/var** continue d'​être stocké dans le SSD, il peut être intéressant d'​interdire la compression des vieux fichiers de trace ou leur conservation en durée exagérée voir pour cela la page [[logrotate#​la_compression|logrotate]]. 
-  * Diminuer au minimum la priorité de la partition swap. Ce faisant celle-ci ne sera utilisée qu'en dernier recours. Ce qui va fortement réduire les performances si la mémoire vive arrive quasi à saturation (la mémoire vive n'aura plus la place de contenir un cache permettant d'​accélérer diverses opérations). Je vous conseille donc d'​utiliser zRam !+ 
 +==== La partition d'​échange (SWAP) ==== 
 + 
 +Il est possible de ne pas créer de partition d'​échange durant l'​installation d'​Ubuntu en définissant les partitions manuellement (avancé). Cela permet de forcer l'​utilisation de la mémoire vive et d'​économiser l'​espace qu'​aurait pris cette partition sur le disque dur ! 
 +Mais cette opération est hautement déconseillée ! 
 + 
 +La partition d'​échange sert en effet aussi pour bénéficier de l'​hibernation (mise en veille prolongée) et aussi permet de soulager la mémoire vive en cas de pénurie, sans ça l'​ordinateur figerait purement et simplement pendant un certain nombre de secondes et finira par fermer aléatoirement un programme pour permettre de continuer à utiliser l'​ordinateur dans de bonnes conditions. 
 + 
 +Pour ne pas utiliser la partition ​d'​échange, il existe deux méthodes : 
 +  * Activer ​[[zRAM]], qui est un module du noyau qui compresse la mémoire vive au lieu de la déplacer dans la partition ​d'​échange ​en cas de manque de mémoire vive. La partition ​d'​échange ​ne servant que si la mémoire vive est entièrement compressée (pour ce faire il suffit d'[[:​tutoriel:​comment_installer_un_paquet|installer le paquet]] **[[apt>zram-config]]**). 
 +  * Diminuer au minimum la priorité de la partition ​d'​échange [[:swap#​regler_le_declenchement_du_swap|Swap]]. Ce faisant celle-ci ne sera utilisée qu'en dernier recours. Ce qui va fortement réduire les performances si la mémoire vive arrive quasi à saturation (la mémoire vive n'aura plus la place de contenir un cache permettant d'​accélérer diverses opérations). Je vous conseille donc d'​utiliser zRam ! FIXME
  
 Si vous souhaitez tout de même utiliser la seconde méthode, [[tutoriel:​comment_modifier_un_fichier|ouvrez le ficher]] **/​etc/​sysctl.conf** (avec les droits d'​administration) et ajoutez à la fin : Si vous souhaitez tout de même utiliser la seconde méthode, [[tutoriel:​comment_modifier_un_fichier|ouvrez le ficher]] **/​etc/​sysctl.conf** (avec les droits d'​administration) et ajoutez à la fin :
  
 <​file>​ <​file>​
-vm.swappiness=0+vm.swappiness=5
 </​file>​ </​file>​
  
-Vous pouvez changer ​"​0" ​par « 1 » qui indique d'​utiliser la partition ​swap que lorsqu'​il ne reste que 1 % de disponible en mémoire vive, « 2 » quand il reste 2 %, etc...+Vous pouvez changer ​« 5 » par « 1 » qui indique d'​utiliser la partition ​d'​échange ​que lorsqu'​il ne reste que 1 % de disponible en mémoire vive, « 2 » quand il reste 2 %, etc.
  
 ==== Diminuer la fréquence d'​écriture des partitions ==== ==== Diminuer la fréquence d'​écriture des partitions ====
Ligne 252: Ligne 373:
 Utilisez l'​option ''​noatime''​ pour éviter d'​écrire sur le disque la date du dernier accès en lecture lorsqu'​il n'y a pas d'​écriture. Utilisez l'​option ''​noatime''​ pour éviter d'​écrire sur le disque la date du dernier accès en lecture lorsqu'​il n'y a pas d'​écriture.
  
-**De nos jours ubuntu utilise par défaut l'​option relatime qui est une variante de noatime, vous n'avez donc rien à faire si vous utiliser ​Ubuntu 12.04 ou une version plus récente.**+**De nos jours ubuntu utilise par défaut l'​option relatime qui est une variante de noatime, vous n'avez donc rien à faire si vous utilisez ​Ubuntu 12.04 LTS ou une version plus récente.**
  
-<​note>''​nodiratime''​ est superflucar ''​noatime''​ est un sur-ensemble de ''​nodiratime''​ (qui est alors sous-entendu),​ voir [[http://​blog.endpoint.com/2010/02/on-linux-noatime-includes-nodiratime.html|la source]].</note>+en 20.04 ,dans fstab une partition sans l'option  ​...time 
 +<​file>​/etc/fstab 
 +was on /dev/sde3 during installation 
 +UUID=525a0522-f476-4670-bc78-063abbf871c5/ ​    ​ext4 ​   errors=remount-ro 0  1 </​file>​ 
 +est montée avec relatime 
 +<​file>​mount 
 +/dev/sde3 on / type ext4 (rw,​relatime,​errors=remount-ro)</file>
  
-<​note>​FIXME "​noatime"​ semble maintenant également superflu sur les systèmes modernes (noyau linux > 2.6.30) selon ce lien : www.reddit.com/​r/​linux/​comments/​1665bi/​what_is_your_favorite_linux_tweak_to_improve/​c7t4b81</​note>​ 
  
-<​note ​important>Aux utilisateurs d'**Ubuntu 13.10**: la modification du /etc/fstab peut entraîner des difficultés à ouvrir votre session **Unity** comme expliqué ​sur ce sujet de discussion : [[http://forum.ubuntu-fr.org/viewtopic.php?​id=1401411]]. +<​note>'​'​nodiratime''​ est superflu, car ''​noatime''​ est un sur-ensemble ​de ''​nodiratime''​ (qui est alors sous-entendu),​ voir [[http://blog.endpoint.com/2010/02/on-linux-noatime-includes-nodiratime.html|la source]].</​note>​
-Cela s'​appliquerait tout particulièrement au dossier ​/home/nom d'​utilisateur/.cache, les autres procédures n'ont pas l'air d'​avoir d'​incidence négative.</​note>​+
  
-En [[tutoriel:​comment_modifier_un_fichier|modifiant]] ''/​etc/​fstab''​ avec les droits d'​administration,​ vous pouvez ​rajouter ​l'​option ''​noatime''​ dans les lignes correspondant à de l'Ext4 sur un SSD. Par exemple :+En [[tutoriel:​comment_modifier_un_fichier|modifiant]] ''/​etc/​fstab''​ avec les droits d'​administration,​ vous pouvez ​ajouter ​l'​option ''​noatime''​ dans les lignes correspondant à de l'Ext4 sur un disque électronique. Par exemple :
 <​file>​ <​file>​
 UUID=57480a3f-e7db-4a5e-9fca-7df45f5a7d9d ​ /               ​ext4 ​   noatime,​errors=remount-ro 0       1 UUID=57480a3f-e7db-4a5e-9fca-7df45f5a7d9d ​ /               ​ext4 ​   noatime,​errors=remount-ro 0       1
Ligne 268: Ligne 393:
 ==== Gagner de l'​espace disque ==== ==== Gagner de l'​espace disque ====
  
-  * [[:​deplacer_repertoire_usr|Déplacer son dossier ​utilisateur (usr)]] +  * [[:​deplacer_repertoire_usr|Déplacer son dossier usr (UNIX System Resources)]] 
-  * [[:​tutoriel:​deplacer_home|Déplacer son dossier ​personnel (home)]]+  * [[:​tutoriel:​deplacer_home|Déplacer son dossier home]] 
 + 
 +==== Eviter d'​écrire en double exemplaire les traces du fonctionnement du logiciel ==== 
 +Depuis quelques années, le logiciel écrit ses traces de fonctionnement de façon ​ standard dans le répertoires **/​var/​log/​journal.** Pour raison de compatibilité avec le passé, il duplique dans les fichiers **/​var/​log/​syslog** et **/​var/​log/​kern**. 
 +Cependant il faut savoir tourner la page. Surtout qu'​il ​ fournit un  [[systemd|outil de consultation]] ​ dans le nouveau mode et  pas dans l'​ancienne méthode. 
 +[[https://​unix.stackexchange.com/​questions/​506423/​how-to-keep-kern-log-out-of-syslog|voir l'​explication]] 
 +<code bash>​head -13 /​etc/​rsyslog.d/​50-default.conf 
 +#  Default rules for rsyslog. 
 +
 +# For more information see rsyslog.conf(5) and /​etc/​rsyslog.conf 
 + 
 +
 +# First some standard log files. ​ Log by facility. 
 +
 +auth,​authpriv.* /​var/​log/​auth.log 
 +#​*.*;​auth,​authpriv.none -/​var/​log/​syslog 
 +#​cron.* /​var/​log/​cron.log 
 +#​daemon.* -/​var/​log/​daemon.log 
 +#​kern.* -/​var/​log/​kern.log 
 +#​lpr.* -/​var/​log/​lpr.log </​code>​ 
 +Il est possible de faire la modification en lignes de commandes 
 +<code bash>​sudo cp -v  /​etc/​rsyslog.d/​50-default.conf /​etc/​rsyslog.d/​50-default.conf.REF 
 +sudo sed -ri '​s/​(\*\.\*;​auth,​authpriv\.none)/#​\1/;​s/​(kern\.\*)/#​\1/'​ /​etc/​rsyslog.d/​50-default.conf</​code>​ 
 +Puis faire la prise en compte 
 +<code bash>​systemctl restart systemd-journald 
 +sudo logrotate -f /​etc/​logrotate.conf</​code>​  
 +et réaliser l'​épuration 
 +<code bash>​sudo rm -v /​var/​log/​kern* 
 +sudo rm -v /​var/​log/​syslog*</​code>​ 
 + 
 + 
 + 
  
 ===== Aligner les partitions ===== ===== Aligner les partitions =====
  
-⇒ Voir le [[#​vocabulaire_de_la_technologie_ssd]] juste au-dessus !+→ Voir le [[#​vocabulaire_de_la_technologie_ssd|vocabulaire de la technique des disques électroniques]] juste au-dessus !
  
-==== Votre disque électronique ​SSD est-il aligné ? ====+==== Votre disque électronique est-il aligné ? ====
  
 Par défaut, à l'​installation,​ Ubuntu **aligne les partitions automatiquement** (y compris en partitionnement manuel). Par défaut, à l'​installation,​ Ubuntu **aligne les partitions automatiquement** (y compris en partitionnement manuel).
  
-Si vous voulez en être sûr, tapez :+Si vous voulez en être sûr, tapez la commande ci-dessous ​: 
 <code bash>​sudo fdisk -lu /​dev/​sda</​code>​ <code bash>​sudo fdisk -lu /​dev/​sda</​code>​
-vous obtiendrez :+ 
 +Vous obtiendrez ​alors une réponse comme ceci : 
 <​file>​ <​file>​
 Disque /dev/sda: ---- Go, -------------- octets Disque /dev/sda: ---- Go, -------------- octets
Ligne 293: Ligne 453:
 /​dev/​sda1 ​           XXXX        YYYY       ​ZZZZ ​    ​83 ​ Linux /​dev/​sda1 ​           XXXX        YYYY       ​ZZZZ ​    ​83 ​ Linux
 </​file>​ </​file>​
-Vous pouvez alors vérifier que le début de chaque partition ("​XXXX"​) est un multiple de 2048 (secteurs). Comme un secteur fait 512 octets, et que 2048 × 512 = 1 Mio, votre disque ​SSD est aligné ​!+ 
 +Vous pouvez alors vérifier que le début de chaque partition ("​XXXX"​) est un multiple de 2048 (secteurs). Comme un secteur fait 512 octets, et que 2048 × 512 = 1 Mio, votre disque ​électronique ​est aligné ​=) 
 +A partir de 2018 (et surement avant aussi), fdisk fait cette vérification pour vous. Si le disque n'est pas aligné, vous verrez le message suivant : "La partition X ne démarre pas sur une limite de secteur physique."​ 
 + 
 +<​note>​FIXME Pour que tout le monde comprenne, expliquer d'ou vient le chiffre 2048 (secteurs). Expliquer aussi si chaque début de partition doit être un multiple de 2048 ou un multiple de 1 Mio</​note>​
  
 <note important>​ <note important>​
-Ceci est vrai sur un disque dur vierge mais n'a pas l'air de fonctionner si on installe Ubuntu à la suite de Windows sur le disque. Si des partitions sont déjà présentes, il faut supprimer et recréer ​toute les partitions pour qu'​elles soient ​alignés.+Cela est vrai sur un disque dur vierge mais n'a pas l'air de fonctionner si on installe Ubuntu à la suite de Windows sur le disque. Si des partitions sont déjà présentes, il faut supprimer et recréer ​toutes ​les partitions pour qu'​elles soient ​alignées.
  
-(Car Ubuntu ne peut pas réaligner les partitions que Windows aurait pu créer par erreur ​non alignés ... À voir si Windows continue de mal aligner les partitions après ​windows ​XP. Windows 7 a un bon support ​des SSD, ça ne devrait plus être le cas.)+(Car Ubuntu ne peut pas réaligner les partitions que Windows aurait pu créer ​non alignées ​par erreur… À voir si Windows continue de mal aligner les partitions après ​Windows ​XP. Windows 7 a une bonne prise en charge ​des disques électroniques, ça ne devrait plus être le cas.) FIXME
 </​note>​ </​note>​
  
-Si vous souhaitez aller plus loinvous pouvez ​[[#Minimiser l'​usage du disque électronique SSD|optimiser Ubuntu pour votre disque SSD]].+<​note>​FIXME Selon les fabricants de disques SSDcomme par exemple ​[[https://​kb-fr.sandisk.com/​app/​answers/​detail/​a_id/​9508/​~/​recommandations-de-performance-ssd|Sandisk]], les partitions peuvent se contenter d'un alignement sur les pages de 4Ko, soit tous les 8 secteurs. Il n'est pas indispensable d'​aligner les partitions sur les blocs de 1Mo, sauf, bien-sûr, pour la première.</​note>​
  
-==== Formatage manuel ​du disque électronique SSD (usage avancé) ====+Si vous souhaitez aller plus loin, vous pouvez [[#​Minimiser l'​usage ​du disque électronique SSD|utiliser au mieux Ubuntu pour votre disque électronique]].
  
-**Cette partie ne sert plus à rien si vous utilisez une version encore supportée d'​Ubuntu,​ l'​alignement se fait automatiquement avec n'​importe quelle méthode "​normale"​ de partitionnement.**+==== Formatage manuel du disque électronique (utilisation avancée) ====
  
-<note warning>​Attention cette méthode vient du forum [[http://​forum.hardware.fr/​hfr/​OSAlternatifs/​Hardware-2/​recensement-optimisation-conseils-sujet_69473_1.htm|http://​forum.hardware.fr]] (un grand merci à eux) et a initialement été conçue pour Arch. La méthode de partitionnement ​est susceptible de varier sous UbuntuNe suivez cette méthode que si vous êtes sûr de vous et que si vous savez résoudre des problèmes pouvant survenir au cours d'un formatage !</​note>​+**Cette partie est inutile si vous utilisez une version encore maintenue par Ubuntu, l'​alignement se fait automatiquement avec n'​importe quelle ​méthode ​« normale » ​de partitionnement.**
  
-<note warning> ​La procédure d'​origine était faite pour un OCZ-Vertex avec une taille de bloc de 128 Kio, ce qui n'est plus le cas sur les disques SSD récents ​(> 2010). Par conséquent,​ la documentation ​a été réécrite ​pour une taille ​de bloc de 1024 Kio qui permet de garantir un alignement avec tous ses sous-multiples (512, 256, 128, etc.). Vous perdez 1 Mio sur l'ensemble du disque ce qui est négligeable et cela assure une compatibilité et un alignement parfait avec tous les disques SSD. Le fichier de calcul a également été mis à jour en conséquence.</​note>​+<note warning>Attention cette méthode vient du forum [[https://​forum.hardware.fr/​hfr/​OSAlternatifs/​Hardware-2/​recensement-optimisation-conseils-sujet_69473_1.htm|hardware.fr]] ​(un grand merci à euxet initialement ​été conçue ​pour Arch. La méthode ​de partitionnement est susceptible ​de varier ​sous UbuntuNe suivez cette méthode que si vous êtes sûr de vous et que si vous savez résoudre des problèmes pouvant survenir au cours d'​un ​formatage !</​note>​
  
 +<note warning> La procédure d'​origine était faite pour un OCZ-Vertex avec une taille de bloc de 128 Kio, ce qui n'est plus le cas sur les disques électroniques récents (> 2010). Par conséquent,​ la documentation a été réécrite pour une taille de bloc de 1024 Kio qui permet de garantir un alignement avec tous ses sous-multiples (512, 256, 128, etc.). Vous perdez 1 Mio sur l'​ensemble du disque ce qui est négligeable et cela assure une compatibilité et un alignement parfait avec tous les disques électroniques. Le fichier de calcul a également été mis à jour en conséquence.</​note>​
  
-=== Partitionner ​son disque ​SSD - Méthode avec table de partitions classique ===+ 
 +=== Découper ​son disque ​électronique ​- Méthode avec la table de partitions classique ===
  
 Cette méthode semble donner de bons résultats. Cette méthode semble donner de bons résultats.
  
-Pour Ubuntu, il faut démarrer ​une session Live. Une fois connecté, en console, on se servira de ''​parted''​. On se retrouve donc sur l'​invite de parted, première vérification : la version du disque ​SSD :+Pour Ubuntu, il faut amorcer un système d'un cédérom ou d'une clef USB autonome. Une fois connecté, en console, on se servira de ''​parted''​. On se retrouve donc sur l'​invite de parted, première vérification : la version du disque ​électronique ​:
  
-<code bash>+<file>
 (parted) print (parted) print
 Model: ATA INTEL SSDSA2M040 (scsi) Model: ATA INTEL SSDSA2M040 (scsi)
 Disk /dev/sda: 40,0GB Disk /dev/sda: 40,0GB
 Sector size (logical/​physical):​ 512B/512B Sector size (logical/​physical):​ 512B/512B
-</code>+</file>
  
-Ici, mettre à jour le micrologiciel si besoin est pour profiter de toutes les avancées technologiques ​de votre disque ​SSD.+Ici, mettre à jour le micrologiciel si besoin est pour profiter de toutes les évolutions techniques ​de votre disque ​électronique.
 Vous trouverez la documentation nécessaire sur le site du fabricant. Vous trouverez la documentation nécessaire sur le site du fabricant.
-La taille d'un bloc, étant d'un multiple de 1024 Kio, et un secteur représentant 512 octets, on en déduit que chaque bloc est composé de 2048 secteurs (1024 kio ÷ 512 octets). On va donc aligner les partitions en comptant le nombre de secteur, de manière ​à ce que chaque début de partition tombe sur un multiple de 2048, soit un début de bloc. D'​autre part, afin de tenir compte du premier secteur réservé par le MBR, on va volontairement décaler la première partition jusqu'​au premier secteur multiple de 2048. Cela ne gâche qu'un seul Mio et permet de rester aligné quoi qu'il arrive.+La taille d'un bloc, étant d'un multiple de 1024 Kio, et un secteur représentant 512 octets, on en déduit que chaque bloc est composé de 2048 secteurs (1024 Kio ÷ 512 octets). On va donc aligner les partitions en comptant le nombre de secteurs, de manière que chaque début de partition tombe sur un multiple de 2048, soit un début de bloc. D'​autre part, afin de tenir compte du premier secteur réservé par le MBR, on va volontairement décaler la première partition jusqu'​au premier secteur multiple de 2048. Cela ne gâche qu'un seul Mio et permet de rester aligné quoi qu'il arrive.
  
  
Ligne 338: Ligne 504:
 </​note>​ </​note>​
  
-Commençons par déterminer quel est le dernier secteur du disque ​SSD, en changeant d'​abord l'​unité utilisée pour afficher les informations ​du disque SSD (l'​unité devient le secteur) :+Commençons par déterminer quel est le dernier secteur du disque ​électronique, en changeant d'​abord l'​unité utilisée pour afficher les informations ​de ce dernier ​(l'​unité devient le secteur) :
  
 <​code>​ <​code>​
Ligne 347: Ligne 513:
 </​code>​ </​code>​
  
-l'aide d'un petit tableau ​sous Calc (que vous pouvez télécharger[[http://​www.mediafire.com/?​b0yjtzzkty8mv51|ici]]),​ on calcule, à partir de la taille souhaitée ​de mes partitions, le secteur de début et de fin de chacune ​de mes partitions en suivant la règle suivante :+À l'aide d'un petit tableau ​dans une feuille ​Calc (que vous pouvez télécharger [[http://​www.mediafire.com/?​b0yjtzzkty8mv51|ici]]),​ on calcule, à partir de la taille souhaitée ​des partitions, le secteur de début et de fin de chacune ​des partitions en suivant la règle suivante :
 Taille de la partition en secteurs = taille de la partition en Mo * 1024 * 1024 / 512. Taille de la partition en secteurs = taille de la partition en Mo * 1024 * 1024 / 512.
 Une partition est donc définie par son secteur de début et son secteur de fin, ce dernier étant le secteur de début + la taille de la partition en secteur - 1 (on retranche 1 pour tenir compte du secteur du début). La partition suivante commence au secteur suivant qui sera forcément, grâce à la méthode de calcul, un multiple de 2048. Une partition est donc définie par son secteur de début et son secteur de fin, ce dernier étant le secteur de début + la taille de la partition en secteur - 1 (on retranche 1 pour tenir compte du secteur du début). La partition suivante commence au secteur suivant qui sera forcément, grâce à la méthode de calcul, un multiple de 2048.
-Du coup, on déduit le tableau suivant :+Donc, on déduit le tableau suivant :
  
 ^ Partition ​ ^ Point de montage ​ ^  Début ^  Taille (Mio) ^  Fin ^ ^ Partition ​ ^ Point de montage ​ ^  Début ^  Taille (Mio) ^  Fin ^
Ligne 357: Ligne 523:
 | /​dev/​sda3 ​ | /home  |  17729536 |  29500 |  78145535 | | /​dev/​sda3 ​ | /home  |  17729536 |  29500 |  78145535 |
  
-Du coup, dans parted, il devient très simple de créer ses partitions à partir des infos calculées :+Alors, dans parted, il devient très simple de créer ses partitions à partir des infos calculées :
  
 <code bash> <code bash>
Ligne 389: Ligne 555:
  
  
-Il ne reste plus qu'à placer le drapeau ​de //boot// sur la première partition pour s'​assurer du bon fonctionnement du //bootloader// et du chargement du futur SE :+Il ne reste plus qu'à placer le drapeau //"boot"// sur la première partition pour s'​assurer du bon fonctionnement du //gestionnaire d'​amorçage// et du chargement du futur SE :
  
 <code bash> <code bash>
Ligne 398: Ligne 564:
 </​code>​ </​code>​
  
-Le résultat ​en vérification ​:+Vérification du résultat :
  
 <code bash> <code bash>
Ligne 406: Ligne 572:
  
  
-Il faut maintenant créer les systèmes de fichiers. Ici, on passera par ext4, que l'on montera ensuite avec l'​option noatime pour ne pas provoquer d'​écriture lors d'une simple lecture. Là encore, on se sert des options de formatage du système de fichiers ​ext4 pour aligner la partition. Il faut aligner la partition avec des blocs logiques de 4 Ko (4096 o), et un stride respectant l'​alignement des blocs physiques du disque ​SSD. Les blocs logiques font 4 Ko, on sait que les blocs physiques font 128 Ko, on aura donc un stride de 32 (128 Ko / 4 Ko). Cette histoire de stride n'est pas claire, mais l'​utilisation de ces deux valeurs permet visiblement de tout aligner correctement. On crée donc les systèmes de fichiers ext4 sur les partitions adéquats :+Il faut maintenant créer les systèmes de fichiers. Ici, on passera par Ext4, que l'on montera ensuite avec l'​option noatime pour ne pas provoquer d'​écriture lors d'une simple lecture. Là encore, on se sert des options de formatage du système de fichiers ​Ext4 pour aligner la partition. Il faut aligner la partition avec des blocs logiques de 4 Ko (4096 o), et un "stride" ​respectant l'​alignement des blocs physiques du disque ​électronique. Les blocs logiques font 4 Ko, on sait que les blocs physiques font 128 Ko, on aura donc un "stride" ​de 32 (128 Ko / 4 Ko). Cette histoire de "stride" ​n'est pas claire, mais l'​utilisation de ces deux valeurs permet visiblement de tout aligner correctement. On crée donc les systèmes de fichiers ext4 sur les partitions adéquats :
  
 <code bash> <code bash>
Ligne 415: Ligne 581:
  
  
-Si vous souhaitez utiliser ReiserFS, il est possible de formater vos partitions en forçant ​ la taille des blocs logiques, mais pas le stride. Ne sachant pas quelle est l'​influence de ce paramètre, je ne sais pas si cela va réellement dégrader les performances ou pas, mais a priori, cela reste négligeable ​voir même inexistant :+Si vous souhaitez utiliser ReiserFS, il est possible de formater vos partitions en forçant ​ la taille des blocs logiques, mais pas le "stride". Ne sachant pas quelle est l'​influence de ce paramètre, je ne sais pas si cela va réellement dégrader les performances ou pas, mais a priori, cela reste négligeable ​voire inexistant :
  
   mkreiserfs -b 4096 /dev/sda1   mkreiserfs -b 4096 /dev/sda1
Ligne 421: Ligne 587:
 <​note>​Si quelqu'​un sait comment forcer ces paramètres sur la partition d'​échange,​ qu'il complète cette section !</​note>​ <​note>​Si quelqu'​un sait comment forcer ces paramètres sur la partition d'​échange,​ qu'il complète cette section !</​note>​
  
-Même si au final on ne monte pas forcément cette partition (ou alors on en minimise l'​accès),​ Ubuntu impose d'​avoir une partition d'​échange au moment de l'​installation,​ donc autant que cette dernière soit également alignée. Ensuite, lors de l'​installation,​ on définit les point de montage, mais on ne les formate pas. Ils le sont déjà, et un nouveau formatage ne réutiliserait pas forcément les valeurs de bloc et de stride que l'on a utilisées, ruinant alors l'​alignement. ​+Même si, en fin de compte, ​on ne monte pas forcément cette partition (ou alors on en minimise l'​accès),​ Ubuntu impose d'​avoir une partition d'​échange au moment de l'​installation,​ donc autant que cette dernière soit également alignée. Ensuite, lors de l'​installation,​ on définit les point de montage, mais on ne les formate pas. Ils le sont déjà, et un nouveau formatage ne réutiliserait pas forcément les valeurs de bloc et de "stride" ​que l'on a utilisées, ruinant alors l'​alignement.
  
-=== Partitionner ​son disque ​SSD - Méthode avec table de partitions GPT ===+=== Découper ​son disque ​électronique ​- Méthode avec la table de partitions GPT ===
  
 Avec cette méthode, on ne change que la façon de compter les partitions, mais pas celle de compter les blocs. Ainsi, on gardera les mêmes partitions que dans la méthode précédente,​ avec les mêmes secteurs de début et de fin, mais on utilise une autre façon de créer les partitions. Avec cette méthode, on ne change que la façon de compter les partitions, mais pas celle de compter les blocs. Ainsi, on gardera les mêmes partitions que dans la méthode précédente,​ avec les mêmes secteurs de début et de fin, mais on utilise une autre façon de créer les partitions.
Ligne 429: Ligne 595:
 <note warning>​Il est donc conseillé donc de lire la méthode précédente avant de vous lancer dans celle-ci qui en reprend les grands principes.</​note>​ <note warning>​Il est donc conseillé donc de lire la méthode précédente avant de vous lancer dans celle-ci qui en reprend les grands principes.</​note>​
  
-Le problème de la méthode précédente est qu'​elle se limite à 4 partitions, puisque les tables de partitions standards se limitent à 4 partitions primaires. Une autre solution consisterait à ne créer qu'une partition étendue sur l'​intégralité du disque dur, et de tailler ses lecteurs logiques dedans. Néanmoins, il existe une autre façon de créer ses partitions : utiliser une table de partition de type GPT. Avec ce type de table, qu'on pourrait qualifier de "​moderne",​ la nuance entre partition principale et étendue n'​existe plus, toutes les partitions étant du même type, et il n'y a plus de limite au nombre de partitions que l'on peut créer sur un disque.+Le problème de la méthode précédente est qu'​elle se limite à 4 partitions, puisque les tables de partitions standards se limitent à 4 partitions primaires. Une autre solution consisterait à ne créer qu'une partition étendue sur l'​intégralité du disque dur, et de tailler ses lecteurs logiques dedans. Néanmoins, il existe une autre façon de créer ses partitions : utiliser une table de partition de type GPT. Avec ce type de table, qu'on pourrait qualifier de "​moderne",​ la nuance entre partition principale et étendue n'​existe plus, toutes les partitions étant du même type (primaire), et il n'y a plus de limite au nombre de partitions que l'on peut créer sur un disque.
  
 <note important>​ <note important>​
 Ce qu'il faut savoir avant de se jeter sur cette méthode, qui semble mettre tout le monde d'​accord de prime abord : Ce qu'il faut savoir avant de se jeter sur cette méthode, qui semble mettre tout le monde d'​accord de prime abord :
-  * les partitions référencées dans une table GPT sont accessibles sous Windows comme sous Linux, mais a priori, seul Linux saura s'​amorcer ​sur GPT via GRUB. Du coup, pas de double-démarrage ​Windows Linux avec cette méthode. **(FAUX, si Windows est installé en mode UEFI, me support ​GPT fonctionne sans problème. Windows n'​est ​juste pas capable ​de booter ​une version non UEFI sur une partition GPT)**+  * les partitions référencées dans une table GPT sont accessibles sous Windows comme sous GNU-Linux, mais a priori, seul ce dernier ​saura s'​amorcer ​avec GPT via GRUB. Du coup, pas de double ​amorçage ​Windows/GNU-Linux avec cette méthode. **(FAUX, si Windows est installé en mode UEFI, la prise en charge ​GPT fonctionne sans problème. Windows n'​est ​simplement ​pas capable ​d'​amorcer ​une version non UEFI sur une partition GPT)**
   * les partitions référencées dans une table GPT portent forcément une étiquette, ainsi il est préférable de savoir ce que l'on va mettre sur ses partitions avant de se lancer dans le partitionnement afin de donner aux partitions des étiquettes cohérentes.   * les partitions référencées dans une table GPT portent forcément une étiquette, ainsi il est préférable de savoir ce que l'on va mettre sur ses partitions avant de se lancer dans le partitionnement afin de donner aux partitions des étiquettes cohérentes.
-  * la création d'une table GPT efface l'​intégralité du disque, ​donc on utilise cette méthode lorsqu'​on a un disque neuf ou après une sauvegarde de toutes ses données. +  * la création d'une table GPT efface l'​intégralité ​<del>du disque</​del>​ de la table des partitions. Donc, on utilise cette méthode lorsqu'​on a un disque neuf ou après une sauvegarde de toutes ses données, car la création manuelle des entrées de la table des partitions est un exercice périlleux et réservé aux utilisateurs avertis
-</​note> ​+</​note>​
  
-Ceci mis au clair, on peut partitionner ​le disque, toujours avec Parted. Pour cela, une fois Parted lancé, on commence par créer la table GTP (c'est à ce moment que toutes les partitions antérieures et les données qu'​elles contenaient deviendront inaccessibles) :+Ceci mis au clair, on peut découper ​le disque, toujours avec Parted. Pour cela, une fois Parted lancé, on commence par créer la table GPT (c'est à ce moment que toutes les partitions antérieures et les données qu'​elles contenaient deviendront inaccessibles) :
  
 <code bash> <code bash>
Ligne 464: Ligne 630:
  
  
-Les partitions créées, on reprendra la méthode précédente pour la création des systèmes de fichiers, les règles sur la taille de bloc et de stride pour les volumes ​ext4 semblant toujours d'​actualité avec ce type de partitionnement.+Les partitions créées, on reprendra la méthode précédente pour la création des systèmes de fichier, les règles sur la taille de bloc et de "stride" ​pour les volumes ​Ext4 semblant toujours d'​actualité avec ce type de partitionnement.
  
-===== Conseils d'optimisations ​spécifiques à certains ​SSD =====+===== Conseils d'améliorations ​spécifiques à certains ​disques électroniques ​=====
  
 ==== Planification des entrées/​sorties ==== ==== Planification des entrées/​sorties ====
  
-**Cette opération n'est plus utile sur les SSD relativement récents, seuls les tous premiers nécessitent cette modification**+**Cette opération n'est plus utile sur les disques électroniques ​relativement récents, seuls les tous premiers nécessitent cette modification.**
  
-<note important>​[[http://​libre-ouvert.toile-libre.org/?​article72/​ssd-crucial-m4-64-go-linux-trim-ext4-noatime#​cfq|Cette ​optimisation ​n'est plus nécessaire avec la mise à jour de l'​ordonnanceur "​cfq"​]]</​note>​+<note important>​[[http://​libre-ouvert.toile-libre.org/?​article72/​ssd-crucial-m4-64-go-linux-trim-ext4-noatime#​cfq|Cette ​amélioration ​n'est plus nécessaire avec la mise à jour de l'​ordonnanceur "​cfq"​]]</​note>​
  
-Ce mécanisme de réarrangement des IOCTL a pour objet d'optimiser ​les commandes ​I/vers le disque dur ATA/SATA en prenant en compte la nature du disque dur en question et certaines contraintes en découlant. \\+Ce mécanisme de réarrangement des IOCTL a pour objet d'améliorer ​les commandes ​E/vers le disque dur ATA/SATA en prenant en compte la nature du disque dur en question et certaines contraintes en découlant. \\
 Il y a trois différentes options : ''​cfq'',​ ''​noop''​ et ''​deadline''​. \\ Il y a trois différentes options : ''​cfq'',​ ''​noop''​ et ''​deadline''​. \\
 Vous pouvez vérifier quel ordonnanceur d'E/S est utilisé par votre système dans un terminal comme ceci : Vous pouvez vérifier quel ordonnanceur d'E/S est utilisé par votre système dans un terminal comme ceci :
Ligne 484: Ligne 650:
 où l'​ordonnanceur présentement utilisé est indiqué entre des crochets. où l'​ordonnanceur présentement utilisé est indiqué entre des crochets.
  
-La meilleure option pour les SSD est ''​deadline''​.\\ +La meilleure option pour les disques électroniques ​est ''​deadline''​.\\ 
-Si cela n'est pas le cas, on peut spécifier de charger le noyau Linux avec cette option "​deadline"​ lors du démarrage. ​+Si cela n'est pas le cas, on peut spécifier de charger le noyau Linux avec cette option "​deadline"​ lors du démarrage.
  
-Il faut [[:​tutoriel:​comment_modifier_un_fichier|modifier le fichier]] ''/​etc/​default/​grub''​ et rajouter ​''​elevator=deadline''​ à la ligne d'​options :​+Il faut [[:​tutoriel:​comment_modifier_un_fichier|modifier le fichier]] ''/​etc/​default/​grub''​ et ajouter ​''​elevator=deadline''​ à la ligne d'​options :​
 <code bash> <code bash>
 GRUB_CMDLINE_LINUX_DEFAULT="​elevator=deadline quiet splash"​ GRUB_CMDLINE_LINUX_DEFAULT="​elevator=deadline quiet splash"​
Ligne 494: Ligne 660:
 puis mettre à jour : <code bash>​sudo update-grub</​code>​ puis mettre à jour : <code bash>​sudo update-grub</​code>​
  
-→ [[http://​www.ab9il.net/​linux/​solid-state-drives1.html|Source]]+→ [[https://​www.ab9il.net/​linux/​solid-state-drives1.html|Source]] 
 + 
 +Afin d' améliorer les performances des systèmes comportant a la fois des disques SSD et des disques mécaniques il est possible grâce à UDEV de définir automatiquement le scheduleur à utiliser en fonction du type de disque (a plateaux ou SSD) avec la méthode suivante ​ : 
 +editer ou creer le fichier avec les droits super-utilisateur : /​etc/​udev/​rules.d/​60-schedulers.rules 
 +<code bash>​gksu gedit /​etc/​udev/​rules.d/​60-schedulers.rules</​code>​ 
 + 
 +puis ajoutez y le code suivant : 
 +<​file>#​ set deadline scheduler for non-rotating disks 
 +ACTION=="​add|change",​ KERNEL=="​sd[a-z]",​ ATTR{queue/​rotational}=="​0",​ ATTR{queue/​scheduler}="​deadline"​ 
 +  
 +# set cfq scheduler for rotating disks 
 +ACTION=="​add|change",​ KERNEL=="​sd[a-z]",​ ATTR{queue/​rotational}=="​1",​ ATTR{queue/​scheduler}="​cfq"</​file>​
  
 +→ [[https://​wiki.deimos.fr/​Optimiser_les_performances_des_disques_dur_sur_Linux#​Alignement_des_partitions|Source]]
 ==== Désactiver complètement l'​archivage ==== ==== Désactiver complètement l'​archivage ====
  
-Sur certains ​SSD (comme le corsair ​V4) il se peut que vous aillez ​des ralentissements lors d'une mise à jour (ou apt-get), pour y remédier, il suffit d'​ajouter l'​option <​code>​data=writeback</​code>​ dans /etc/fstab. Il faut exécuter le code suivant pour le désactiver tout d'​abord : <​code>​sudo tune2fs -o journal_data_writeback /​dev/​sda1</​code>​ en remplaçant **sda1** par l'​identifiant de votre partition (sda2, hdb1, ...) :+Sur certains ​disques électroniques ​(comme le Corsair<​Crucial plutôt> ​V4) il se peut que vous ayez des ralentissements lors d'une mise à jour (ou apt-get), pour y remédier, il suffit d'​ajouter l'​option <​code>​data=writeback</​code>​ dans /etc/fstab. Il faut exécuter le code suivant pour le désactiver tout d'​abord : <​code>​sudo tune2fs -o journal_data_writeback /​dev/​sda1</​code>​ en remplaçant **sda1** par l'​identifiant de votre partition (sda2, hdb1, ...) :
  
-==== Désactiver ureadhead ====+==== Désactiver ​"ureadhead" ​====
  
-Ureadhead est destiné à améliorer les performances de démarrage sur les disques durs traditionnels en organisant l'​ordre de lecture sur le disque. Malheureusement sur certains disques ​SSD très vieux il réduit aujourd'​hui les performances car les programmes ne démarrent pas pendant le chargement ureadhead alors que les performances du disque ​SSD permettent un accès direct au données bien plus efficace lors du démarrage ​des programmes. Le bug [[https://​bugs.launchpad.net/​bugs/​577763|LP #​577763]] ​est ouvert ​à ce sujet.+"Ureadhead" ​est destiné à améliorer les performances de démarrage sur les disques durs traditionnels en organisant l'​ordre de lecture sur le disque. Malheureusement sur certains disques ​électroniques ​très vieuxil réduit aujourd'​hui les performances car les programmes ne démarrent pas pendant le chargement ​"ureadhead" ​alors que les performances du disque ​électronique ​permettent un accès direct au données bien plus efficace lors de l'​exécution ​des programmes. Le ticket de la bogue [[https://​bugs.launchpad.net/​bugs/​577763|LP #577763]] à ce sujet est ouvert.
  
-Un contournement pour désactiver ureadhead est de désactiver le lancement du daemon ​correspondant dans le script d'​amorçage upstart : +Un contournement pour désactiver ​"ureadhead" ​est de désactiver le lancement du démon ​correspondant dans le script d'​amorçage upstart :​ 
-  * Ouvrir le fichier /​etc/​init/​ureadahead.conf avec les droits super-utilisateurs +  * Ouvrir le fichier /​etc/​init/​ureadahead.conf avec les droits super-utilisateur 
-  * Commenter la ligne ''​exec /​sbin/​ureadahead --daemon''​ en rajoutant ​un dièse (#) tout au début+  * Commenter la ligne ''​exec /​sbin/​ureadahead --daemon''​ en ajoutant ​un dièse (#) tout au début
  
 ---- ----
  
-//Rédacteurs ​: Kortex@HFR et Albator du [[http://​forum.hardware.fr/​hfr/​OSAlternatifs/​Hardware-2/​recensement-optimisation-conseils-sujet_69473_1.htm|forum.hardware.fr]],​ un grand merci à eux //+//Contributeurs principaux ​: Kortex@HFR et Albator du [[https://​forum.hardware.fr/​hfr/​OSAlternatifs/​Hardware-2/​recensement-optimisation-conseils-sujet_69473_1.htm|forum.hardware.fr]],​ un grand merci à eux.//
  • ssd_solid_state_drive.1393509503.txt.gz
  • Dernière modification: Le 27/02/2014, 14:58
  • par DDZ