Forum Linux.général Swap utilisé au réveil du PC

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
1
21
oct.
2016

Bonjour,

J'ai un souci avec mon swap : au réveil du PC après une hibernation, parfois le PC fonctionne avec le swap et pas trop avec la RAM, m'obligeant à faire "sudo swapoff -a && sudo swapon -a" (genre 2 go dans le swap alors que ces 2 go pourraient être logés dans la RAM). Quelqu'un a une solution, ou alors c'est normal ? Merci pour votre aide.

  • # mon avis

    Posté par  . Évalué à 2.

    AMHA c'est normal
    à la mise en veille, il a tout mis sur le swap pour pouvoir eteindre la machine est economiser un max d'energie

    au rallumage, ben il va laisser sur le swap ce qui ne sert pas tout de suite.
    genre tu as l'editeur de texte, le navigateur de fichier, le logiciel email.

    ben tant que tu n'ouvriras l'editeur de texte, il va le laisser en swap

    • [^] # Re: mon avis

      Posté par  . Évalué à 1.

      Okay, sauf que le PC rame à mort, quoique je fasse.

    • [^] # Re: mon avis

      Posté par  . Évalué à 2.

      ben tant que tu n'ouvriras l'editeur de texte, il va le laisser en swap

      Si c'est ce qu'il fait, ça n'est pas très intelligent. Ça veut dire que tu peux payer le coût de l'hibernation des heures après être sorti du sommeil.

  • # Tu as combien de RAM ?

    Posté par  . Évalué à 1. Dernière modification le 21 octobre 2016 à 08:59.

    Tu as vérifié la gestion du swap avec swapiness ? 
    ($cat /proc/sys/vm/swapiness sur Jessie).

    EDIT : Pardon, j'ai mal lu. Le SWAP sert justement à l'hibernation, alors, c'est "normal". Après, il devrait quand même nettoyer le swap…À voir ! Je chercherai.

  • # Vidéos

    Posté par  . Évalué à 1.

    Je sais pas si ça a un rapport avec ton problème, mais j'ai remarqué que quand je laisse des onglets avec des vidéos ouverts avant d'hiberner, eh bien après ça rame à mort quand je rallume le PC.
    Donc avant d'hiberner je ferme tous mes onglets youtube, etc.

    • [^] # Re: Vidéos

      Posté par  . Évalué à 1.

      Je n'ai pas d'onglets avec des vidéos ouverts, mais Iron est ouvert, je vais voir si en le fermant le problème disparaît.

      • [^] # Re: Vidéos

        Posté par  . Évalué à 1.

        OK, t'as raison.

  • # Réveil

    Posté par  . Évalué à 2.

    Est-ce qu'il serait possible que l'OS lance automatiquement "swapoff -a && swapon -a" au réveil du PC ?

    • [^] # Re: Réveil

      Posté par  . Évalué à 1. Dernière modification le 21 octobre 2016 à 13:49.

      Il me semble aussi qu'il a déjà trouvé la solution. Ce qu'il manque c'est simplement de mettre un script dans /lib/systemd/system-sleep/ et de le rendre exécutabe. Genre swap.sh:

      #!/bin/sh
      
      case $1 in
        post)
          swapoff -a; swapon -a
          ;;
      esac

      À tester !

      source: man systemd-suspend.service

      • [^] # Re: Réveil

        Posté par  . Évalué à 1.

        Ça ne marche pas.

        • [^] # Re: Réveil

          Posté par  (site web personnel) . Évalué à 1. Dernière modification le 21 octobre 2016 à 17:43.

          'faudrait savoir ce qui « march' pô »…

          N'arrives-tu pas à écrire le script proposé et le rendre exécutable ?

          Le script ne s'exécute-t-il pas ?

          L'argument post n'est-il pas passé au script après l’hibernation ?

          Les commandes swapoff -a et swapon -a ne sont-elles pas alors exécutées ?

          L'exécution de ces deux commandes, successives, n'est-il pas équivalent à le faire manuellement ?

          Peut-être faudrait-il ajouter un sleep et/ou un sync entre les deux… ?

          • [^] # Re: Réveil

            Posté par  . Évalué à 1.

            Si, j'ai créé le fichier et rendu exécutable, après le problème demeure au réveil du PC mais je ne sais pas pourquoi, et un sleep d'une minute ne change rien. Par contre swapoff -a et swapon -a executés manuellement font bien le ménage dans le swap.

            • [^] # Re: Réveil

              Posté par  . Évalué à 1. Dernière modification le 23 octobre 2016 à 19:13.

              Rajoute ceci au début du script (juste après le shebang) et ensuite consulte le fichier log pour voir ce qu'il se passe. Aussi pour que cela fonctionne il faut que systemd se charge de la mise en veille… Rajouter un PATH=/sbin:$PATH ne peut pas faire de tort aussi.

              exec >/tmp/log
              exec 2>&1
              set -x
              
    • [^] # Re: Réveil

      Posté par  . Évalué à 3.

      Tu peux l'ajouter toi-même.
      Mais ce serait une mauvaise idée de la part des distribution d'ajouter ça automatiquement car on ne sait pas à priori s'il y a assez de RAM pour récupérer tout ce qui est en SWAP.

      • [^] # Re: Réveil

        Posté par  . Évalué à 1.

        C'est clair que cela ne peut pas être imposé.

  • # max22 a raison

    Posté par  . Évalué à 1.

    Par deux fois j'ai pu tester en fermant Iron, donc max22 a raison (mais sans vidéos pour moi), c'est le navigateur resté ouvert qui génère le problème.

    • [^] # Re: max22 a raison

      Posté par  . Évalué à 1.

      En relaissant le navigateur ouvert (pour tester), donc au retour d'hibernation, le swap contient pas loin de 2 go, et si je ferme le navigateur, lentement le swap se vide totalement ; Iron (donc Chromium) est bien en cause.

      • [^] # Re: max22 a raison

        Posté par  . Évalué à 1. Dernière modification le 25 octobre 2016 à 17:22.

        moi j'utilise Firefox, c'est le même bazar, mais seulement quand j'ai des onglets vidéo ouverts.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.