Swappiness: comment ajuster l'utilisation de la mémoire virtuelle

mémoire virtuelle d'échange

À qui Ubunlog Nous nous consacrons - ou essayons de nous consacrer - à tous les utilisateurs, et cela inclut des configurations matérielles très différentes. Et d'une certaine manière, nous aimons penser qu'avec les tutoriels que nous montrons ici, nous contribuons d'une manière ou d'une autre à améliorer l'expérience utilisateur générale dans cette distribution que nous aimons tant (dans toutes ses versions), c'est pourquoi nous publions souvent des guides. pour obtenez les meilleures performances possible, surtout dans des équipements plus modestes.

Maintenant, sans aller plus loin, nous allons montrer comment ajuster l'utilisation de la mémoire virtuelle dans Ubuntu, de manière à éviter qu'en fin de compte, cela ne devienne un frein et ne rende les performances pires qu'elles ne le seraient sans lui. Et c'est que bien que l'idée d'utiliser un fichier ou une partition de swap ne soit pas mauvaise en soi mais bien au contraire, si elle n'est pas bien implémentée elle peut générer une utilisation excessive du disque dur, beaucoup plus lente que la RAM.

Pour cette raison, l'utilisation de la partition d'échange doit être limitée aux situations dans lesquelles il n'y a pas d'autre alternative que de l'utiliser, auquel moment elle supportera la mémoire principale (qui est la RAM). Si au contraire nous l'utilisons à tout moment, parfois même avant la RAM, nos performances seront pénalisées. Voyons voir alors comment ajuster l'utilisation de la mémoire virtuelle sous Linux à l'aide de la commande Swappiness.

Dans notre système d'exploitation, la création de mémoire virtuelle est généralement effectuée pendant le processus d'installation, moment auquel nous définissons la partition racine (/), la partition de stockage (/ home) et la partition d'échange ou swap, qui est généralement implémenté sur la partition / dev / sda5. Le paramètre du noyau qui gère l'utilisation de la mémoire virtuelle est le swappiness mentionné précédemment, et fondamentalement, nous pouvons dire qu'il est chargé de définir la fréquence à laquelle nous accédons à la partition d'échange et la quantité de contenu que nous y copions, via un argument qui varie entre 0 et 100.

La valeur par défaut dans une installation Linux est 60, mais comme il est facile de le supposer, toutes les configurations matérielles ne sont pas identiques et il n’est donc pas logique de maintenir ce niveau quel que soit le nôtre. Cette valeur est stockée dans le fichier / proc / sys / vm / swappiness, et nous pouvons la vérifier en:

cat / proc / sys / vm / swappiness

Il sera presque certainement à 60, et si tel est le cas, nous devrons peut-être le modifier, en particulier si nous avons plus de 4 Go de mémoire RAM, car dans ce cas, nous avons généralement besoin de peu ou pas de mémoire virtuelle. Mais avant d'expliquer comment modifier cela, voyons un peu la logique derrière toute cette histoire de mémoire virtuelle et de permutation; Et c'est que quand il est laissé par défaut à 60, ce que le noyau est dit est d'aller utiliser la mémoire virtuelle quand notre RAM a 40 pour cent ou moins de sa capacité libre. Ainsi, si nous définissons la permutation égale à 100, la mémoire virtuelle sera utilisée tout le temps, et si nous la laissons à une valeur très basse, elle ne sera utilisée que lorsque notre RAM est sur le point de s'épuiser. Le minimum possible est 1, car en laissant la valeur égale à 0 on désactive complètement la mémoire virtuelle.

Nous devons donc saisir la commande suivante depuis le terminal (Ctrl + Alt + T):

sudo sysctl vm.swappiness = 10

Maintenant la valeur de swappiness sera de 10, puis la mémoire virtuelle sera à peine utilisée. Une fois cette valeur modifiée il n'est pas nécessaire de redémarrer l'ordinateur mais cela prend effet immédiatement, et en fait si nous remettons la valeur à zéro, elle se situera à 60 comme auparavant, car ce dont nous aurons besoin, c'est de laisser ce changement définitivement établi. Pour ce faire, une fois que nous avons utilisé notre ordinateur et vérifié que tout va bien avec la nouvelle valeur de swappiness, nous exécutons:

sudo nano /etc/sysctl.conf

après quoi nous cherchons le texte vm.swappiness = et ajoutons la valeur souhaitée après le symbole "=". Nous sauvegardons le fichier et maintenant oui, le changement sera permanent.


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données: Miguel Ángel Gatón
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.

  1.   céflo dit

    Excellente explication !!! Très bon article !! Dans mon cas, lorsque j'effectue ce changement lors du redémarrage du notebook, il revient à la valeur d'origine de 60, c'est comme si le fichier était sauvegardé mais au redémarrage il est «formaté». J'ai déjà tout essayé sans succès, avez-vous une idée de ce qui pourrait se passer? J'ai 1 Go de RAM.

    Je vous remercie!

    1.    Willy Kley dit

      Salut César, je suis content que tu l'aies trouvé intéressant.

      Si la valeur est perdue lorsque le système redémarre, je regarderais /etc/rc.local et les autres scripts de démarrage (ils varient en fonction de chaque distribution) car cela peut être défini au démarrage.

      Salutations!

  2.   Pascual Martin dit

    Très bonne explication!

    En complément, en voici un autre intéressant sur Swap et swappiness sous Linux:

    http://www.sysadmit.com/2016/10/linux-swap-y-swappiness.html

  3.   état du spectateur dit

    tu ne sais pas à quel point c'est bon pour moi, merci

  4.   clérygo dit

    Cordialement,

    Dans mon /etc/sysctl.conf n'est pas le texte vm.swappiness =, je l'ai bien cherché, le fichier est petit. Sauf si vous devez l'ajouter, l'article dit de trouver et de modifier la valeur, et non d'ajouter la ligne.

  5.   Lewis dit

    Cordialement,

    Dans mon /etc/sysctl.conf, il n'y a pas de vm.swappiness = text. Sauf si vous devez l'ajouter, l'article dit de trouver et de modifier la valeur, et non d'ajouter la ligne.

  6.   Nosfératus dit

    Vous devez le créer, à la fin du fichier vous mettez vm.swappiness = 10 et c'est tout.

    S'il ne s'enregistre pas au redémarrage, cela peut être dû au fait que vous n'utilisez pas la commande sudo.

    Ubuntu: sudo gedit /etc/sysctl.conf
    Xubuntu: sudo tapis de souris /etc/sysctl.conf

  7.   santiago dit

    Excellent article. Merci!

  8.   Roberto dit

    Vous pouvez mettre zéro. quels problèmes peuvent apparaître?

  9.   José Castillo Avalos dit

    Bonjour et merci Willy Clew pour votre article qui m'explique clairement le processus d'utilisation de la mémoire swapp, mais cela m'a causé un énorme doute car en entrant dans le terminal et en exécutant les commandes que vous indiquez, il renvoie le message qui dit:

    bash: cat / proc / sys / vm / swappiness: le fichier ou le répertoire n'existe pas

    Qu'est-ce qui peut être causé cela?

    1.    Andres Choque Lopez dit

      Vous avez mal écrit. Vous n'avez pas mis l'espace après "chat".

  10.   glace dit

    super, nous le partageons dans le groupe ubuntu en espagnol https://t.me/ubuntu_es

  11.   Smith dit

    Excellent cela a fonctionné pour moi sur Debian 10.9

  12.   Jean dit

    Je suis informaticien j'ai installé et testé plusieurs distributions, la meilleure option pour configurer le swappiness est d'écrire dans le terminal

    sudo nano /etc/sysctl.conf

    après avoir appuyé sur entrée, écrivez la touche et entrez à nouveau, puis écrivez à la fin la ligne suivante

    vm.swappiness = 0

    puis appuyez sur ctrl et la touche x en même temps, cela génère une question que si vous voulez enregistrer la nouvelle phrase dans le fichier puis appuyez sur la touche Y pour dire oui et n afin qu'il ne l'enregistre pas

    Pourquoi ai-je écrit zéro 0 ? Les tests ont déjà été fait sur différents PC que j'ai programmé car c'est la meilleure option puisqu'elle utilise dont la pagination mais par exemple si chrome est ouvert ou un navigateur ouvrant Facebook car la mémoire d'échange (swap ou aussi appelée pagination) va augmenter mais lorsqu'il est fermé session et le navigateur ou n'importe quel programme car la mémoire de pagination (swap) va diminuer libérant le disque dur ce qui est utile pour ne pas l'endommager, n'oubliez pas que la mémoire d'échange ou appelée pagination (swap) utilise le disque dur.

  13.   Norberto González dit

    J'ai pas compris désolé. Si la valeur par défaut est 60 pour que l'échange soit activé avec 40 ou moins manquant, lors de la définition du paramètre sur 10. Ne serait-il pas activé avec 90 de la RAM libre ? En ralentissant l'échange de données