Forum Linux.redhat debordement de SWAP

Posté par  .
Étiquettes : aucune
-4
31
août
2011

Bonjour,

Sur un système a forte charge avec un swap de + de 20Go , je souhaite avoir des détail précis sur son fonctionnement .
Voici mon problème , le taux de swap étant en moyenne a 80% d'utilisation sur le serveur en question utilisé principalement par un nombre de processus très important susceptible chacun d'avoir a utiliser un nombre très important de fichiers a transférer , l'un des processus susceptible d'employer 200 000 fichiers lorsqu'il est lancer occupe plusieurs Go et conduit a une saturation et un fort ralentissement du système , alors qu 'en temps normal ce processus n’excède pas une taille de 300 a 400 Mo , précision le débit réseau n'est pas en cause.

Je cherche avant tout une réponse technique et démonstrative et je suis bien sur conscient que l'utilisation de la swap a ce taux n est pas recommandé , ma question est simple pourquoi ce processus devient incontrôlable ? un probleme de programmation peu etre une piste , cependant je me demande si sachant qu'un nombre de processus important est dangereux lorsqu on utilise autant la swap et sachant qu'une meme unité de mémoire peu etre utilisé par plusieurs programme avec une parité, peu malgré tout d'après ce que j'ai trouver comme information ,créer un phénomène instable sur lequel j ai très peu de détail technique

  • # Quel gros swap

    Posté par  . Évalué à 1.

    Bonjour,

    Quelle taille font les 200 000 fichiers ? Si la consommation mémoire est 2 ou 3 fois plus grande que l'espace occupé par les fichiers, il y a peut-être un problème de programmation. Quel est le process en question, que fait-il ?

    De combien de RAM (hors swap) dispose la machine ?

  • # boule de crystal

    Posté par  (site web personnel) . Évalué à 3.

    hello,

    vu les détails, on risque pas de pouvoir vraiment t'aider...

    Le probleme de perf vient parceque tu as beaucoup de page fault: besoins d'aller lire dans le swap, et que toute ta ram est occupée, il faut donc en libérer en swapant...

    C'est pas forcément UN processus qui devient fou, ça peut être beaucoup de processus qui consomment tous pas mal...

    Et c'est juste normal...

    c'est du java ? (krkrkr)

    • [^] # Re: boule de crystal

      Posté par  . Évalué à -1.

      Merci pour votre réponse , en fait il s'agit d instance de processus , et par moment l une de ses instance similaire au autre voit sa taille augmenter démesurément , peut il y avoir un phénomène quelconque (hormis un probleme de programmation ) qui puisse faire augmenter sa taille et lier au fonctionnement de la swap , par exemple quelque chose qui s'incrémente et qui dégénère a cause d une utilisation trop intensive du page table ? es ce que techniquement ce type de problème est possible et si oui comment se produit il ?

      • [^] # Re: boule de crystal

        Posté par  . Évalué à 3.

        si tu nous disais deja quel programme, quel option ?

        parce dire,
        - c'est pas le programme
        - ca pourrait etre lié à un usage intensif de la swap
        - est-il possible que ce soit la swap qui deconne ?

        ca reste tellement flou, que je ne penses pas que quelqu'un ici puisse t'aider plus que ca.

        si un process devient fou, ben faut diagnostiquer sur ce process

        • [^] # Re: boule de crystal

          Posté par  . Évalué à 0.

          pour faire simple, un usage important de la swap par de multiple processus peut il engendrer un phénomène qui temps a faire augmenter anormalement la taille d un processus jusqu’à a saturation du système ?

          Comme par exemple un trashing

          Phénomène de trashing (effondrement) : plus le taux de multiprogrammation augmente, moins chaque processus se voit allouer de pages. Au bout d'un moment, le système sature car trop de défauts de page sont générés. Le phénomène de trashing apparait à chaque fois que, dans un système de stockage hiérarchique, un des niveaux se voit surchargé. C'est par exemple le cas si la mémoire cache est trop petite. À ce moment-là les allers-retours incessants de données le long de la hiérarchie vont fortement diminuer le rendement de l'ordinateur. Il est possible de diminuer les effets de ce comportement soit en rajoutant des ressources matérielles (ajouter de la mémoire), diminuer le taux de multiprogrammation, ou modifier la priorité des processus.

          • [^] # Re: boule de crystal

            Posté par  . Évalué à 1.

            ben je crois que tu tiens ta reponse.

            il faut que tu regardes si tu n'as pas un probleme de ressources, d'acces à une ressource
            et que tu trouves le process fautif.

            une fois le process fautif identifié, tu peux lui imposer des limites, le debuggé pour tenter de savoir pourquoi il part en cacaouhete.

            • [^] # Re: boule de crystal

              Posté par  . Évalué à -1.

              re , je viens de decouvrir pas mal de chose , je pense pouvoir mettre finalement en cause le processus si j arrive a obtenir une réponse a ma question qui relevé du domaine de la programmation , est il possible de de limiter le nombre de processus ayant des cadres en mémoire centrale afin d eviter un phénomene de trashing (écroulement)

              • [^] # Re: boule de crystal

                Posté par  . Évalué à -1.

                ou de le limiter le nombre de cadre qu un processus peu s octroyer

              • [^] # Re: boule de crystal

                Posté par  . Évalué à 2.

                je crois que c'est le but de ulimit qui permet de limiter certaines ressources.

                je te laisse chercher les options par toi meme ;)

  • # Test en swap on / swap off

    Posté par  (site web personnel) . Évalué à -1.

    Bonjour,

    Peux-tu essayer de voir le comportement de ton système en déactivant le swap avec la commande "swap off".
    Car dans le passé certains programmes utilisaient le swap alors qu'il y a de la RAM de dispo.

    Combien as-tu de mémoire RAM?

    Sinon pour ma part, je n'ai plus de SWAP sur mes serveurs depuis plusieurs années... car j'ai suffisamment de RAM et je peux en allouer comme je veux avec la virtualisation.

    • [^] # Re: Test en swap on / swap off

      Posté par  . Évalué à 0.

      La desactivation du swap n est pas envisageable , la charge en processus et en mémoire est très importante .

      Voici ce que j en déduis après plusieurs observation , la swpap étant constament a un % élevé et le nombre de processus important , lorsque unl'un d entre eux employant un grand nombre de fichier est appelé , le système finit par se consacrer uniquement a la gestion des table page employé pour l allocation des ressource mémoire ,s'en suit un phénomène d'écroulement dans lequel le système ne répond plus , je manque d'information mais je pense que le processus en question dont la fonction est l envois d un grand nombre de fichier voit sa taille augmenter démesurément car sa fonction principal n'est plus assuré par le système complètement débordé par le traitement des entré/sortie des tables page ...
      quel est votre avis ?

      • [^] # Re: Test en swap on / swap off

        Posté par  (site web personnel) . Évalué à 0.

        La seule façon de déterminé un problème est de réduire, au fur et à mesure, le périmètre de test jusqu'à trouver l'erreur et ainsi la cause.

        Il est difficile de te fournir une solution à distance, il faut se connecter sur la machine faire des tests pour isoler le problème, voir le déboguer.

        A toi de définir ton approche et tes plans de tests pour arriver à tes fins

      • [^] # Re: Test en swap on / swap off

        Posté par  . Évalué à 6.

        que tu n'as toujours pas repondu aux questions precedentes :
        - RAM presente sur la machine (libre/utilisée/cachée)
        - nombre de processus
        - limites imposées (ulimit ?)
        - traitement effectués

        as-tu trouvé le processus qui genere cette consommation ?
        as-tu verifié qu'il fonctionnait bien (eventuellement quand il est tout seul) ?
        que se passe-t-il si tu le ralenti ?

        top te permet de savoir ou en est ton systeme (le processeur est il en IDLE, ou IOWAIT ?)
        iostat pour savoir ou tu en es entrée/sortie

        car si ton processus par en patate, ca peut aussi simplement etre lié au processus lui meme (ce que tu refutes depuis le debut en disant que la programmation est clean)

        enfin, vu que c'est sur une redhat, tu dois avoir le support redhat qui peut t'aider la dessus, car une machine avec 20Go de SWAP ca doit etre un gros serveur, et tu dois avoir pris les extensions garanties/services qui vont avec.

  • # 80% de swap -> augmenter la ram

    Posté par  . Évalué à 0.

    Une machine ne doit pas utiliser en permanence 80% de sa swap. Lorsque c'est le cas il faut déjà augmenter la taille de la ram. La swap est là pour faire tampon lors de fonctionnements transitoires, pas en ram secondaire permanente de la machine.

Suivre le flux des commentaires

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