Maison  >  Article  >  Opération et maintenance  >  Quelle est la différence entre vsz et rss sous Linux ?

Quelle est la différence entre vsz et rss sous Linux ?

WBOY
WBOYoriginal
2022-07-14 16:27:035863parcourir

La différence entre vsz et rss sous Linux : 1. rss est l'abréviation de « Resident Set Size », qui représente la taille de la mémoire résidente, tandis que vsz est l'abréviation de « Virtual Memory Size », qui représente la taille de la mémoire virtuelle ; 2. rss est utilisé pour représenter la quantité de mémoire utilisée par le processus et n'inclut pas la mémoire qui a été échangée, tandis que vsz contient toute la mémoire à laquelle le processus peut accéder, y compris la mémoire qui a été échangée.

Quelle est la différence entre vsz et rss sous Linux ?

L'environnement d'exploitation de ce tutoriel : système linux7.3, ordinateur Dell G3.

Quelle est la différence entre vsz et rss sous Linux ?

RSS est l'abréviation de Resident Set Size (taille de la mémoire résidente), qui est utilisée pour indiquer la quantité de mémoire (mémoire physique en RAM) utilisée par le processus. RSS n'inclut pas ce qui a été retiré de la mémoire. RSS contient les bibliothèques dynamiques auxquelles il est lié et chargé en mémoire physique. RSS contient également de la mémoire pile et de la mémoire tas.

VSZ est l'abréviation de Virtual Memory Size. Il contient toute la mémoire à laquelle le processus peut accéder, y compris la mémoire qui a été échangée, la mémoire allouée mais pas encore utilisée et la mémoire des bibliothèques dynamiques.

L'exemple est le suivant

Supposons que le fichier binaire du processus A fasse 500 Ko et soit lié à une bibliothèque dynamique de 2 500 Ko. Le tas et la pile utilisent un total de 200 Ko, dont 100 Ko en mémoire (le reste). sont échangés ou ne sont plus utilisés), un total de 1 000 Ko de contenu dans la bibliothèque dynamique et 400 Ko de contenu dans le fichier binaire sont chargés dans la mémoire, alors :

RSS: 400K + 1000K + 100K = 1500K
VSZ: 500K + 2500K + 200K = 3200K

Puisqu'une partie de la mémoire est partagée et utilisée par plusieurs processus, si les valeurs RSS de tous les processus sont Le total peut être supérieur à la mémoire totale du système.

Si la mémoire appliquée n'est pas réellement utilisée par le programme, elle risque de ne pas être affichée en RSS. Par exemple, si un programme demande une grande quantité de mémoire à l'avance et l'utilise après un certain temps, vous constaterez que RSS augmentera tandis que VSZ restera inchangé.

Un autre concept est PSS, qui est l'abréviation de taille d'ensemble proportionnelle (proportionnel signifie proportionnel). C’est une nouvelle façon de mesurer les choses. Il divise proportionnellement la mémoire utilisée par les bibliothèques dynamiques. Par exemple, si la bibliothèque dynamique de notre exemple précédent est utilisée par deux processus, alors :

PSS: 400K + (1000K/2) + 100K = 400K + 500K + 100K = 1000K

Plusieurs threads dans un processus partagent le même espace d'adressage. Ainsi, les flux RSS, VSZ et PSS de plusieurs threads dans un processus sont exactement les mêmes. Sous Linux, vous pouvez utiliser la commande ps ou top pour afficher ces informations.

Apprentissage recommandé : Tutoriel vidéo Linux

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn