Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 05/10/2014, à 20:21

Cqoicebordel

Linux Ate My Ram, le retour

Bonjour à tous. Ceci est mon premier post, donc Youhou !

Voilà, maintenant que c'est fait, j'aimerais vous embêter avec un soucis particulier.

Je suis sous Kubuntu 14.04, tout mis à jour. Je dispose de 8Go de RAM et de 4Go de SWAP (enfin, 7.9Go et 3.7Go respectivement selon le système).
Mon soucis est le suivant : dès que la quantité de ram utilisée dépasse 7.3Go, tout passe en swap. Ce qui au final ne pourrait pas être si grave, si j'utilisais moins de ram.

Le soucis est que je viens de redémarrer, et qu'avec tous les logiciels que je laisse ouvert tous les jours, je consomme 5.3Go de RAM.
D'où le syndrome du Linux Ate My Ram.

C'est pas forcément très clair, alors je vais essayer de détailler un poil : au fil du temps, Linux utilise le plus de RAM possible pour optimiser le système. Il met en cache des applis, mais aussi des fichiers, bref normal. Sauf que pour une raison que j'ignore, il n'arrive pas à utiliser toute la ram, ce qui fait qu'au lieu d'utiliser toute la ram, il utilise presque toute la ram, et décale la partie qu'il ne peut mettre sur les barrettes physiquement, dans la swap.
Et quand le système n'a plus de mémoire, Linux est sensé laisser tomber ces fichiers en cache pour en libérer. Mais étant donné qu'il voit toujours de la ram libre, il ne fait rien, bloquant complètement le système.

J'ai fait différents tests, y compris avec memtester. Par exemple, avant son utilisation, j'avais 5.3Go de ram utilisé et 0 de swap. J'ai lancé memtester 2500M et eu 7.3Go de RAM utilisé et 700Mo de swap... (oh et résultat sans erreur, évidemment)

Bref, pour résumer, ma théorie est qu'une puce de RAM est morte, que Linux la voit comme dispo, tente de l'utiliser, va en swap parce qu'il ne peut pas l'utiliser, et recommence, sans jamais s'arrêter, bouffant tout.

Mes questions :
1) Est-ce une théorie possible/plausible ?
2) Existe-t-il une solution *logicielle* à ce problème ? (les solutions du type "reboot plus souvent" ou "change de barrette de ram" ne sont pas acceptable pour moi)
3) S'agit-il d'un bug du système ou un comportement attendu ? S'il s'agit d'un bug, faut-il le faire remonter ? Et comment ?

D'avance merci pour votre aide ! Et hésitez pas à poser des questions si je n'ai pas été très clair !

Hors ligne

#2 Le 05/10/2014, à 20:42

J5012

Re : Linux Ate My Ram, le retour

Hors ligne

#3 Le 05/10/2014, à 20:44

Zurg

Re : Linux Ate My Ram, le retour

Nan c'est impossible que ton système consomme 5 Go de ram comme ça quand tu démarres sinon c'est que tu as énormément de problème ! même si t'a des applications qui ce lance au démarrage, Linux c'est très léger, a mon avis c'est toi qui fait une confusion et qui regarde le mauvais chiffre.

Fais un copier/coller du résultat de cette commande :

free -m

Hors ligne

#4 Le 05/10/2014, à 21:15

Cqoicebordel

Re : Linux Ate My Ram, le retour

Effectivement, je n'ai pas testé l'option swapiness, parce qu'il me semblait que ça ne correspondait pas au problème : si je descend le niveau de swapiness, il n'utilisera jamais la swap, alors que c'est toujours utile.
Je suis toutefois en train de tester avec une valeur de 5.
(et j'ai eu le temps de faire un memtester, il part toujours en swap, après avoir dépassé les 7.2-7.3Go)

Zurg, non, ce n'est pas une erreur de ma part, mais je n'ai peut-être pas été clair dans mon post : c'est la taille utilisé après que j'ai lancé tous les logiciels que j'utilise sans arrêt, y compris trois navigateurs différents, cumulant à eux trois une centaine d'onglets. Donc la taille utilisée est normale.
Je te donne tout de même la sortie de free -m :

             total       used       free     shared    buffers     cached
Mem:          8091       5736       2354        104          7        338
-/+ buffers/cache:       5391       2699
Swap:         3812        424       3388

Vous noterez au passage qu'il voit de la ram inaccessible en "free". (je dis inaccessible car il n'écrit jamais dedans, mais j'en sais rien)

Hors ligne

#5 Le 05/10/2014, à 21:39

Zurg

Re : Linux Ate My Ram, le retour

Ah ok mais quel intérêt de lancer autant d'onglet dans le navigateur ?

Hors ligne

#6 Le 05/10/2014, à 21:40

Haleth

Re : Linux Ate My Ram, le retour

Pourquoi tu as du swap ?
Il te sert à quelque chose ?


Ubuntu is an ancien African word which means "I can't configure Debian"

Because accessor & mutator are against encapsulation (one of OOP principles), good OOP-programmers do not use them. Obviously, procedural-devs do not. In fact, only ugly-devs are still using them.

Hors ligne

#7 Le 05/10/2014, à 21:45

Cqoicebordel

Re : Linux Ate My Ram, le retour

Zurg > Parce que c'est comme ça que je travaille. Et avant que tu poses la question sur le nombre de navigateur, c'est pour avoir différents comptes ouverts en même temps sur les mêmes sites.

Haleth > Bonne question. Le swap me semblait toujours utile lorsque je n'avais plus de ram, mais s'il n'est pas capable de voir que je n'ai plus de ram, ça sert peut-être plus à rien d'avoir du swap. Cependant, je suis gourmand en mémoire en général. Trois navigateur, Kate avec une centaine de fichiers ouverts, Eclipse... Des fois, je dépasse effectivement la taille de la ram (et surtout les 7.2Go dont je ne sais pas d'où ils viennent). Du coup, virer le swap ne me semble pas une bonne solution.*

Il n'existe pas un moyen de dire au noyau Linux qu'il n'y a que 7.2Go de ram dispo plutôt que 7.9Go ? Comme ça il continuerait de fonctionner classiquement, en prenant en compte l'handicap matériel.

Hors ligne

#8 Le 08/10/2014, à 06:38

J5012

Re : Linux Ate My Ram, le retour

quand on a de la chance d'avoir bcp de ram, la swap sert surtout en cas d'hibernation (taille swap=taille ram) ... si tu n'hibernes jamais, elle ne sert a rien, et si tu n'as pas besoin d'espace , laisse la tranquille wink

Hors ligne

#9 Le 08/10/2014, à 19:15

Cqoicebordel

Re : Linux Ate My Ram, le retour

Yep.
Mais pour info, le soucis est toujours là : arrivé à 7.3Go, rien n'est relaché, et tout va en swap, alors que, clairement, je n'utilise pas plus de mémoire qu'avant.

Bref, c'est plutôt chiant de courir après chaque meg de ram, alors que justement, j'en ai pléthore.

Hors ligne

#10 Le 08/10/2014, à 19:25

Zurg

Re : Linux Ate My Ram, le retour

Je suis curieux, "Cqoicebordel" met une capture d'écran ici de ton bureau avec toutes tes fenêtres/onglet ouvert quand tu consommes toute ta ram, je voudrai voir un truc.

Moi j'ai beau essayé d'avoir pleins d'onglet ouvert, je n'arrive pas a consommer beaucoup de ram ! mais tu as peut être aussi des machines virtuels d'ouverte, là ça changerai tout ?

Dernière modification par Zurg (Le 08/10/2014, à 19:26)

Hors ligne

#11 Le 08/10/2014, à 21:03

J5012

Re : Linux Ate My Ram, le retour

mets le swappiness a zero : il utilise encore le swap ?

- si tu as de la gddr3 avec le gpu de la cg, ca explique peut-etre ?
- si tu as un bus master vraiment independant (rare) du cpu, ca explique peut-etre ?

Hors ligne

#12 Le 08/10/2014, à 21:06

Cqoicebordel

Re : Linux Ate My Ram, le retour

Zurg, si tu veux, même si je ne vois pas en quoi ça va m'aider... ;o)

Bureau

Tu peux voir sur cette image (du haut vers le bas, et de gauche vers la droite) : ksysguard, qui montre qu'a se moment, 5.9Go de RAM sont utilisé (et comment) et ses 1.2Go en swap, Kate, avec sa centaine de documents ouverts (qui d'ailleurs n'apparait pas dans ksysguard, parce que le redémarrage est récent), Firefox, pas beaucoup d'onglets ouverts, mais Command&Conquer Tiberium Alliance ouvert, et ça bouffe (je dois redémarrer Fx tous les trois jours), Opera, avec 74 onglets ouverts (j'ai même un compteur tavu), et Chromium avec ses 22 onglets. Non affichés : tous les plasmoid sur les deux écrans (il doit y en avoir ~16, et je compte même pas la menubar et tous ses outils), quelques apache qui tournent, j'ai également masqué 9 instances de Dolphin ; mysql, btsync, et d'autres petits trucs également. Oh et j'ai oublié de mettre sur la capture les 8 onglets de ma Konsole (et donc 8*bash). Oh et Amarok qui bouffe pas mal aussi.
Avec tout ça tu as une vision globale de ce qui tourne en permanence.
Ensuite, j'ouvre très régulièrement d'autres choses : VLC, Eclipse, Ark, FileZilla, j'ai une tache cron qui lance un script python toutes les 5min.
Bref.

Pas de machine virtuelle. Pas de VNC. Bref, rien qui pourrait sembler anormal.


EDIT : Désolé J5012 nos posts se sont croisés, et du coup, j'avais pas vu le tien.
Pour le swapiness à 0, je vais tester ça demain.
Pour le GPU, ça m'étonnerait, mais j'en sais rien. J'ai une GeForce 8400 GS avec 512Mo de RAM, qui me semble être de la GDDR2 mais à confirmer. Pour info au passage, driver prioro (oui je sais, rien à voir, mais on sait jamais).

J5012 a écrit :

- si tu as un bus master vraiment independant (rare) du cpu, ca explique peut-etre ?

Là, je dois avouer que j'ai pas compris. Je te donne les infos de la carte mère, au cas où ça t'aiderait : Gigabyte EP45-UD3. Pour la ram, c'est de la noname acheté rue Montgallet.

Pour moi le sujet reste le même : le gestionnaire de mémoire n'est "pas au courant" que la mémoire est pleine/qu'une partie est endommagée.

Dernière modification par Cqoicebordel (Le 09/10/2014, à 00:39)

Hors ligne