Sous Linux, le nom complet de rss est "Resident Set Size", qui fait référence à l'ensemble de mémoire résident, indiquant la taille réelle de la mémoire physique occupée par le processus correspondant dans la RAM, et n'inclut pas la mémoire virtuelle occupée dans SWAP. RSS n'inclut pas la mémoire qui va dans la partition d'échange, mais inclut la mémoire occupée par les bibliothèques partagées (tant que les bibliothèques partagées sont en mémoire).
L'environnement d'exploitation de ce tutoriel : système CentOS 6, ordinateur Dell G3.
Dans la gestion de la mémoire Linux, qu'il s'agisse de la commande top ou de la commande ps, il y aura deux termes RSS et VSZ. Exemple :
[root@localhost ~]# ps aux #查看系统中所有的进程 USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.2 2872 1416 ? Ss Jun04 0:02 /sbin/init root 2 0.0 0.0 0 0 ? S Jun04 0:00 [kthreadd] root 3 0.0 0.0 0 0 ? S Jun04 0:00 [migration/0] root 4 0.0 0.0 0 0 ? S Jun04 0:00 [ksoftirqd/0] …省略部分输出…
Ici, nous vous ferons découvrir RSS et VSZ.
linux RSS
RSS est la taille de l'ensemble résident, qui indique la taille réelle de la mémoire physique occupée par le processus correspondant dans la RAM, et n'inclut pas la mémoire virtuelle occupée dans SWAP. Même la taille de la mémoire utilisée dans les bibliothèques partagées est incluse dans le calcul, y compris la mémoire complète dans la pile et le tas.
RSS n'inclut pas la mémoire entrant dans la partition d'échange.
RSS inclut la mémoire occupée par la bibliothèque partagée (tant que la bibliothèque partagée est en mémoire)
RSS inclut toute la mémoire de pile et la mémoire de tas allouées.
linux VSZ
VSZ (Virtual Memory Size), indiquant la taille de la mémoire virtuelle, indiquant toute la mémoire à laquelle le processus peut accéder, y compris la mémoire échangée et la mémoire de bibliothèque partagée.
VSZ inclut toute la mémoire à laquelle le processus peut accéder, y compris ce qui va dans la partition d'échange et la mémoire occupée par les bibliothèques partagées.
Exemple :
Si la taille du fichier binaire du processus A est de 500 Ko et qu'il est lié à une bibliothèque partagée de 2 500 Ko, il existe une taille de pile/tas de 200 Ko, sur ces 200 Ko, 100 Ko sont en mémoire, et 100 Ko se trouvent dans l'espace SWAP et chargent 1 000 Ko de bibliothèques partagées et 400 Ko de ses propres binaires. Ensuite
RSS :
400K + 1000K + 100K = 1500K
VSZ
500K + 2500K + 200K = 3200K
Une partie du RSS provient de bibliothèques partagées, et les bibliothèques partagées peuvent être utilisées par de nombreux processus, donc si les RSS de tous les processus sont additionnés, ils peuvent être plus grands que la mémoire système .
Il existe un paramètre plus récent PSS (proportional set size), qui calcule la mémoire partagée différemment du RSS. En vous référant à l'exemple précédent, s'il y a deux processus utilisant la même bibliothèque partagée, alors :
PSS :
400K + (1000K/2) + 100K = 400K + 500K + 100K = 1000K
Les threads partagent la même chose espace d'adressage, de sorte que tous les threads d'un processus ont les mêmes RSS, VSZ et PSS. Vous pouvez utiliser la commande ps ou top pour observer ces informations.
Recommandations associées : "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!