Bonjour,
J'ai de temps en temps des problèmes de mémoire vive qui se remplit progressivement sans que je réussisse à en trouver la cause. Typiquement, en ayant fermé toutes mes applications, j'ai actuellement 20% de la mémoire occupée (sur 12Gb), alors que si je fais la somme de l'occupation mémoire de tous les processus listés par htop, j'atteins difficilement 10%. Il y a donc 10% de la mémoire occupée par je ne sais quoi, et que je ne peux pas vider.
C'est particulièrement gênant quand je fais de longues séances d'utilisation d'application gourmandes en mémoire (calcul ou jeux) où après plusieurs jours il peut arriver que je perde 40% de la mémoire disponible. Évidemment, il suffit que je redémarre pour régler le problème, mais ce n'est pas très pratique et assez frustrant.
Avez-vous une idée de comment je pourrais trouver ce qui occupe ma mémoire comme ça ?
# « Occupée » ?
Posté par Matthieu Moy (site web personnel) . Évalué à 6.
Attention, « mémoire occupée » peut vouloir dire beaucoup de choses différentes sur un système moderne. Qu'as-tu utilisé pour obtenir tes chiffres ? Que donne la commande
vmstat
?Et j'anticipe sur l'explication : en quoi est-ce problématique que ta RAM soit utilisée ;-) ?
# au hasard de cache des fichiers ?
Posté par NeoX . Évalué à 4.
c'est une erreur classique, avec top ou free,
on te dit
on voit qu'il y a 32Go de memoire total
donc 31Go occupés mais 20Go par du cache et 11Go par des buffers
# Imparable
Posté par Lol Zimmerli (site web personnel, Mastodon) . Évalué à 3.
Ok, tu as acheté de la mémoire pour ton ordi mais tu aimerais que celui-ci ne l'utilisât pas; j'ai bon?
Dans ce cas, une solution simple: sort une ou plusieurs barrettes de l'ordinateur et pose les sur ton bureau. Voilà, ton ordinateur ne les utilisera plus!
:*)
Plus sérieusement, il y a de la mémoire, le système est fait pour l'utiliser. Une grande partie peut être vidée au besoin par le noyau; ne t'inquiète pas.
La gelée de coings est une chose à ne pas avaler de travers.
[^] # Re: Imparable
Posté par totof2000 . Évalué à 4. Dernière modification le 04 juillet 2018 à 21:16.
Je pense qu'il veut certainement comprendre à quoi est utilisée cette mémoire.
J'apprécie l'effort que tu as fait pour ne pas mépriser le posteur initial (j'ai cru que le début de ton commentaire était sérieux, jusqu'à ce que kje vois le smiley), cependant il aurait été judicieux de préciser que lorsque le système dispose de mémoire non utilisé par les processus en cours d'exécution, le noyau s'attribue la mémoire disponible pour améliorer les performances du système, et la libère lorsqu'une application a besoin de cette mémoire.
[^] # Re: Imparable
Posté par Ytterbium . Évalué à 1.
Le problème n'est pas en soi que la mémoire soit occupée quand je n'en ai pas besoin, c'est qu'elle reste occupée même quand j'en ai besoin et qu'elle est pleine.
Il arrive de temps en temps que la mémoire soit pleine, alors même que je ne vois pas ce qui occupe 40% de la mémoire.
[^] # Re: Imparable
Posté par gUI (Mastodon) . Évalué à 3.
Est-ce que ton système utilise le cache ? Si oui, en effet tu as un soucis de mémoire. Si non, alors ça veut dire qu'il est encore en zone de confort.
Envoie un exemple de commande "free" à un moment où tu estimes que c'est anormal.
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
[^] # Re: Imparable
Posté par Ytterbium . Évalué à 1.
Le cache, c'est à dire le swap ? Dans ce cas, non. Si c'est juste la partie de mémoire consacrée au cache, oui mon système l'utilise.
Pour l'instant ça va, si je veux avoir un exemple extrême (du type je suis obligé d'utiliser un tty pour tuer un processus tant l'interface freeze), il va falloir que j'attende.
[^] # Re: Imparable
Posté par gUI (Mastodon) . Évalué à 2.
Pardon j'ai mis cache, je voulais dire swap bien sûr. C'est le seul signe qui dit que ton système "n'a pas assez de RAM". Pour le reste, il se contente de :
- allouer la RAM nécessaire aux nouveaux processus
- allouer de la RAM supplémentaire aux processus qui le demandent (malloc)
- utiliser à volonté du cache disque pour accélérer les transferts futurs
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
[^] # Re: Imparable
Posté par Ytterbium . Évalué à 1.
Je n'ai pas de swap sur mon ordinateur. Du coup, lorsque que la mémoire est pleine, il se met à freezer violemment.
[^] # Re: Imparable
Posté par Lol Zimmerli (site web personnel, Mastodon) . Évalué à 2.
Essaie alors d'ajouter du swap, avec un swapfile déjà pour voir:
https://www.cyberciti.biz/faq/linux-add-a-swap-file-howto/
La gelée de coings est une chose à ne pas avaler de travers.
[^] # Re: Imparable
Posté par paulez (site web personnel) . Évalué à 4. Dernière modification le 06 juillet 2018 à 02:25.
Tu es sûr que c'est un problème de mémoire ? Si ton système n'a plus de mémoire disponible et n'a pas de swap il devrait tuer des processus au lieu de freezer.
Pour voir la mémoire réellement disponible:
Pour vider les caches:
[^] # Re: Imparable
Posté par Renault (site web personnel) . Évalué à 3.
Ce qui est fortement possible c'est que le système en manque de RAM vide les caches notamment des fichiers ce qui dégrade très très fortement la réactivité du système même s'il en reste encore un peu de mémoire disponible.
En tout cas cela m'est arrivé régulièrement jusqu'à que je décide d'allouer un peu de place pour la swap. Avec la swap il y a moins de vidage du cache ce qui améliore les performances tant qu'on a une consommation RAM "dynamique" raisonnable.
[^] # Re: Imparable
Posté par paulez (site web personnel) . Évalué à 2.
Clairement ne pas utiliser de swap peut poser pas mal de problèmes, je ne recommande pas. Pour éviter d'utiliser la mémoire swap il est préférable de modifier le paramètre vm.swapiness plutôt que de la désactiver.
[^] # Re: Imparable
Posté par Anonyme . Évalué à 1.
il y a aussi la solution zram qui compresse les données en mémoire vive plutôt que de recourir au swap sur mémoire non volatile.
Pour 12Go de RAM ça me donne 9Go de "swap" zram : c'est toujours ça de pris.
[^] # Re: Imparable
Posté par Lol Zimmerli (site web personnel, Mastodon) . Évalué à 2. Dernière modification le 05 juillet 2018 à 23:02.
Une sortie de free et vmstat quand ça va et quand ça ne va pas pourrait nous aider.
La gelée de coings est une chose à ne pas avaler de travers.
# tmpfs /tmp
Posté par hitmanu . Évalué à 4.
Tous est dans le titre
Merci aux personnes qui mon aidé a trouvé des solutions pour essayer d’écrire sans faute d’orthographe.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.