GNU/Linux >> Tutoriels Linux >  >> Linux

Pourquoi MemTotal dans /proc/meminfo change-t-il ?

Cela ne devrait jamais changer. Cela pourrait être une indication de certains emplacements défectueux dans la RAM. Vous pouvez diagnostiquer votre RAM en utilisant Memtest86+.

En dehors de cela, la seule autre façon dont ce nombre changerait pourrait être si vous analysiez un invité de machine virtuelle. Peut-être que l'hôte sur lequel l'invité VM s'exécute ajuste la RAM allouée à l'invité.

Modifier #1

J'ai déterré ce message de forum qui traite de la fuite potentielle de mémoire par les modules du noyau, ce qui pourrait entraîner le changement de MemTotal.

extrait de :Re :Comment déterminez-vous la quantité de mémoire système ?

Le 30/07/08, Bill McGonigle a écrit :

Le 30 juillet 2008 à 10h03, Thomas Charron écrit :

MemTotal peut changer. MemTotal n'affiche pas la mémoire utilisée par les binaires du noyau eux-mêmes en mémoire, mais il existe des situations où les modules peuvent perdre de la mémoire qui est également supprimée de MemTotal. Je ne me souviens pas des détails de cet événement, mais je sais de quoi Paul parle maintenant. Eh bien, ce n'est qu'un bogue si vous définissez MemTotal comme la mémoire physique présente dans une machine. Si vous le considérez comme la mémoire totale disponible pour le noyau, il fonctionne correctement, n'est-ce pas ?

Oui, et le "bogue" est que lorsque ce nombre diminue, cela signifie que quelque chose fuit, c'est-à-dire un "mauvais noyau". Au moins des modules de noyau potentiellement "mauvais" (lire potentiellement bogués).


Je n'étais pas à l'aise d'avoir un bogue dans le noyau ou un module, alors j'ai creusé plus loin et j'ai découvert... que MemTotal peut changer régulièrement, vers le bas ou vers le haut. Ce n'est pas une constante et cette valeur est définitivement modifiée par le code du noyau à de nombreux endroits, dans diverses circonstances.

Par exemple. virtio_balloon kmod peut diminuer MemTotal ainsi que l'augmenter à nouveau. Alors bien sûr, mm/memory_hotplug.c exporte [add|remove]_memory , qui sont également utilisés par de nombreux conducteurs.


Linux
  1. Linux – En quoi le lien symbolique /proc//exe diffère-t-il des liens symboliques ordinaires ?

  2. Comment Remplir 90% De La Mémoire Libre ?

  3. Comment changer les points de montage ?

  4. Pourquoi /bin/sh pointe-t-il vers /bin/dash et non /bin/bash ? ?

  5. Comprendre le fichier /proc/meminfo (Analyse de l'utilisation de la mémoire sous Linux)

Fichiers /proc/cpuinfo et /proc/meminfo sous Linux

Comprendre les fichiers /proc/mounts, /etc/mtab et /proc/partitions

Comment savoir à partir de quel dossier un processus est en cours d'exécution ?

Comment fonctionne /proc/* ?

Pourquoi mettre des choses autres que /home sur une partition séparée ?

Les sites Web doivent-ils vivre dans /var/ ou /usr/ selon l'utilisation recommandée ?