Outils pour utilisateurs

Outils du site


linux-ssd

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édentesRévision précédente
Prochaine révision
Révision précédente
linux-ssd [2020/01/29 14:25] – [Chrome] sebsauvagelinux-ssd [2022/07/07 12:33] (Version actuelle) – [commit à 60 secondes] sebsauvage
Ligne 14: Ligne 14:
 Avec 60, le résultat est souvent que la machine commence à swapper alors que la mémoire n'est utilisée qu'à moitié. Avec 60, le résultat est souvent que la machine commence à swapper alors que la mémoire n'est utilisée qu'à moitié.
  
-On peut sans problème réduire ce paramètre à 10. +Sur une machine de bureau, on peut sans problème réduire ce paramètre à 10. 
  
   * **Configuration**: Ajoutez la ligne ''vm.swappiness=10'' à votre fichier ''/etc/sysctl.conf'':<code>sudo bash -c 'echo "vm.swappiness=10" >> /etc/sysctl.conf'</code>   * **Configuration**: Ajoutez la ligne ''vm.swappiness=10'' à votre fichier ''/etc/sysctl.conf'':<code>sudo bash -c 'echo "vm.swappiness=10" >> /etc/sysctl.conf'</code>
Ligne 41: Ligne 41:
   * **Activation**:<code>sudo apt install zram-config</code>   * **Activation**:<code>sudo apt install zram-config</code>
     * zram est immédiatement actif, et votre swap configuré pour pointer dessus.     * zram est immédiatement actif, et votre swap configuré pour pointer dessus.
 +
 +<note important>Ubuntu 22.04 semble avoir réussi à foirer le paquet zram-config: Il fonctionne mais n'utilise qu'un seul coeur.</note>
 +
   * **Vérification**:   * **Vérification**:
     * Pour vérifier que votre swap utilise zram:<code>cat /proc/swaps</code>     * Pour vérifier que votre swap utilise zram:<code>cat /proc/swaps</code>
Ligne 69: Ligne 72:
  
 \\  \\ 
 +
 +<note>**zswap** est une alternative à **zram**, mais avec un fonctionnement un peu différent. Les deux ne peuvent pas être utilisés simultanément. Après [[https://linuxfr.org/users/antistress/journaux/zswap-zram-earlyoom-organiser-la-gestion-d-une-penurie-de-memoire-vive|quelques]] [[https://baronhk.wordpress.com/2021/10/03/setting-up-zswap-in-debian-11-gnu-linux/|lectures]], il semblerait que zram soit surtout intéressant sur les machines sans swap disque, ou celle où le swap disque est à éviter au maximum (flash, SD... comme sur les smartphones ou les SBC (RaspberryPi)). Sur un ordinateur de bureau, zswap pourrait être plus intéressant (mais impose d'avoir un swap disque actif).</note>
  
 ---- ----
Ligne 78: Ligne 83:
 Il est possible de le mettre en mémoire vive avec //tmpfs//. Il est possible de le mettre en mémoire vive avec //tmpfs//.
  
-Pour cela il suffit de modifier votre fichier ''/etc/fstab'' en y ajoutant la ligne:+Pour cela il suffit de modifier votre fichier ''/etc/fstab'' en y ajoutant les lignes:
  
-<code>tmpfs /tmp tmpfs defaults,relatime,mode=1777,nosuid,size=4196M 0 0</code>+<code>tmpfs /tmp tmpfs defaults,relatime,mode=1777,nosuid,size=4196M 0 0 
 +tmpfs /var/tmp tmpfs defaults,relatime,mode=1777,nosuid,size=4196M 0 0</code> 
 + 
 +(Si vous aviez déjà une ligne concernant /tmp, commentez-la en mettant un ''#'' en début de ligne.)
  
 Redémarrez pour la prise en compte. Redémarrez pour la prise en compte.
Ligne 86: Ligne 94:
 Là nous avons créé un /tmp de 4 Go, ce qui est largement suffisant. N'hésitez pas à mettre une valeur aussi importante, même sur une machine avec peu de RAM: tmpfs ne consomme de la mémoire que quand on stock des données. Là nous avons créé un /tmp de 4 Go, ce qui est largement suffisant. N'hésitez pas à mettre une valeur aussi importante, même sur une machine avec peu de RAM: tmpfs ne consomme de la mémoire que quand on stock des données.
  
-Il vous est tout à fait possible de mettre d'autres répertoires en tmpfs de la même manière, mais n'oubliez pas que dès que la machine redémarre ou s’éteint, vous perdez les fichiers placé dans ces répertoires+Il vous est tout à fait possible de mettre d'autres répertoires en tmpfs de la même manière, mais n'oubliez pas que dès que la machine redémarre ou s’éteint, vous perdez les fichiers placé dans ces répertoires. 
-Il est déconseillé de mettre ''/var/tmp'' en tmpfs, car certaines applications s'attendent à une persistance de ce répertoire entre les redémarrage.+
  
 À savoir: À savoir:
   * tmpfs ne prendra jamais le pas sur vos applications: Si une application a besoin de mémoire, tmpfs ira swapper ses données pour laisser de la place à l'application.   * tmpfs ne prendra jamais le pas sur vos applications: Si une application a besoin de mémoire, tmpfs ira swapper ses données pour laisser de la place à l'application.
-  * Donc, si vous avez activé zram, tmpfs va automatiquement swapper (compresser) ses fichiers temporaires en mémoire (!).+  * tmpfs n'est pas compressémais si vous avez activé zram, tmpfs va automatiquement swapper (compresser) ses fichiers temporaires en mémoire.
  
 ----  ---- 
Ligne 108: Ligne 115:
   * Pour voir la quantité de données en attente d'écriture, vous pouvez faire: ''watch grep ^Dirty /proc/meminfo''   * Pour voir la quantité de données en attente d'écriture, vous pouvez faire: ''watch grep ^Dirty /proc/meminfo''
   * Vous pouvez à tout moment forcer les écritures disque qui sont en attente avec la commande ''sync''   * Vous pouvez à tout moment forcer les écritures disque qui sont en attente avec la commande ''sync''
 +  * Sur beaucoup de distributions, le système de fichiers btrfs a un commit par défaut de 30 secondes.
  
 ---- ----
  
-===== noatime ? non:relatime =====+===== noatime,nodiratime =====
  
 La plupart des systèmes de fichier - dont ex4 - sont capables d'enregistrer l'heure d'accès (//atime//), de création (//ctime//) et de modification (//mtime//) d'un fichier ou un répertoire. Si connaître l'heure d'accès d'un fichier peut être très pratique, cela veut dire que pour chaque //lecture// de fichier, cela déclenche une //écriture// disque (pour enregistrer la date de dernier accès).  Cela fait beaucoup d'écriture pour pas grand chose. La plupart des systèmes de fichier - dont ex4 - sont capables d'enregistrer l'heure d'accès (//atime//), de création (//ctime//) et de modification (//mtime//) d'un fichier ou un répertoire. Si connaître l'heure d'accès d'un fichier peut être très pratique, cela veut dire que pour chaque //lecture// de fichier, cela déclenche une //écriture// disque (pour enregistrer la date de dernier accès).  Cela fait beaucoup d'écriture pour pas grand chose.
  
-On trouve parfois des astuces sur internet qui recommandent d'ajouter //noatime// et //nodiratime// dans les options de montage, ce qui a pour effet de désactiver l'enregistrement de la date de dernier accès. Cela fonctionne, mais certains logiciels ont besoin de connaître cette date pour fonctionner correctement.+À moins d'avoir des besoins spécifiques (//mutt// en a besoin, ou si vous avez des besoins de traçabilité d'accès aux fichiers), vous pouvez désactiver cela. 
 + 
 +L'option //relatime// permet de minimiser la mise à jour des dates d'accès (c'est d'ailleurs bien souvent une option mise par défaut), mais dans le cas d'un SSD sur une machine qui n'est pas un serveur vous pouvez carrément ajouter ''noatime,nodiratime''.
  
-Je ne vous recommande **pas** cette solution noatime/nodiratimecar la plupart des distributions récentes montent déjà vos partitions avec l'option //relatime// qui fait à peu près la même chose, mais ne met à jour la date d'accès qu'une fois par jour (ou quand mtime/ctime est plus récent). Cela permet de garder la fonctionnalité de //atime// tout en réduisant les accès disque.+Si vous utilisez btrfsvous pouvez même remplacer ''relatime'' par ''noatime,nodiratime''. Cela fait quelques années que je tourne comme cela et je n'ai eu aucun soucis.
  
 ---- ----
linux-ssd.1580307908.txt.gz · Dernière modification : 2020/01/29 14:25 de sebsauvage