proc_pid_smaps(5) File Formats Manual proc_pid_smaps(5)

/proc/pid/smaps - XXX : que représente le « s » dans « smaps » ?

/proc/pid/smaps (depuis Linux 2.6.14)
Ce fichier affiche la mémoire utilisée par chacun des mappages du processus (la commande pmap(1) affiche des informations similaires dans une forme plus propice à une analyse). Pour chacun des mappages, il y a une série de lignes telles que les suivantes :

00400000-0048a000 r-xp 00000000 fd:03 960637       /bin/bash
Size:                552 kB
Rss:                 460 kB
Pss:                 100 kB
Shared_Clean:        452 kB
Shared_Dirty:          0 kB
Private_Clean:         8 kB
Private_Dirty:         0 kB
Referenced:          460 kB
Anonymous:             0 kB
AnonHugePages:         0 kB
ShmemHugePages:        0 kB
ShmemPmdMapped:        0 kB
Swap:                  0 kB
KernelPageSize:        4 kB
MMUPageSize:           4 kB
Locked:                0 kB
ProtectionKey:         0
VmFlags: rd ex mr mw me dw

La première de ces lignes montre les mêmes informations que celles affichées pour le mappage dans /proc/pid/maps. Les lignes suivantes montrent la taille du mappage, la quantité de mappage actuellement résidente en mémoire vive (« Rss »), le partage équitable (« proportional share ») de ce mappage pour le processus (« Pss »), le nombre de pages partagées propres ou sales du mappage et le nombre de pages privées propres ou sales du mappage. « Referenced » indique la quantité de mémoire actuellement marquée comme référencée ou accédée. « Anonymous » montre la quantité de mémoire qui n’appartient à aucun fichier. « Swap » montre la quantité de mémoire aussi utilisée qui serait anonyme, mais est en espace d’échange.
L’entrée « KernelPageSize » (disponible depuis Linux 2.6.29) est la taille de page utilisée par le noyau pour sauvegarder une zone de mémoire virtuelle (VMA). Cela correspond à la taille utilisée par le MMU dans la majorité des cas. Cependant, un contre-exemple existe sur les noyaux PPC64 où un noyau utilisant 64 K comme taille de page de base pourrait encore utiliser 4 K pages pour le MMU sur les anciens processeurs. Pour différencier les deux attributs, la ligne « MMUPageSize » (disponible aussi depuis Linux 2.6.29) indique la taille de page utilisée par le MMU.
La ligne « Locked » indique si le mappage est verrouillée en mémoire.
La ligne « ProtectionKey » (disponible depuis Linux 4.9, sur x86 seulement) contient la clé de protection mémoire (consulter pkeys(7)) associée avec la zone de mémoire virtuelle. Cet enregistrement est présent seulement si le noyau a été construit avec l’option de configuration CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS (depuis Linux 4.6).
La ligne « VmFlags » (disponible depuis Linux 3.8) représente les attributs du noyau, associés à la zone de mémoire virtuelle, encodés en utilisant les codes de deux lettres suivants :
rd - accessible en lecture
wr - accessible en écriture
ex - exécutable
sh - partagé
mr - peut lire
mw - peut écrire
me - peut exécuter
ms - peut partager
gd - segment de pile diminue
pf - intervalle PFN pur
dw - écriture désactivée sur le fichier projeté
lo - pages verrouillées en mémoire
io - zone E/S mappée en mémoire
sr - avertissement de lecture séquentielle fourni
rr - avertissement de lecture aléatoire fourni
dc - ne pas copier la zone lors d’un fourchage
de - ne pas étendre la zone lors d’un remappage
ac - zone pouvant répondre (accountable)
nr - espace d’échange non réservé pour la zone
ht - zone utilisant des pages tlb volumineuses
sf - accès synchrone aux « page faults » (depuis Linux 4.15)
nl - mappage non linéaire (retiré dans Linux 4.0)
ar - drapeau spécifique à l'architecture
wf - effacement lors d’un fourchage (depuis Linux 4.14)
dd - ne pas inclure la zone lors d’un vidage mémoire
sd - drapeau soft-dirty (depuis Linux 3.13)
mm - zone de mappage mixte
hg - drapeau d’avertissement de page volumineuse
nh - drapeau d’avertissement de page non volumineuse
mg - drapeau d’avertissement de fusionnable
um - suivi d’userfaultfd de pages manquantes (depuis Linux 4.3)
uw - suivi d’userfaultfd de pages wprotect (depuis Linux 4.3)
Le fichier /proc/pid/smaps n'est présent que si l'option de configuration du noyau CONFIG_PROC_PAGE_MONITOR a été utilisée.

proc(5)

La traduction française de cette page de manuel a été créée par Christophe Blaess https://www.blaess.fr/christophe/, Stéphan Rafin <stephan.rafin@laposte.net>, Thierry Vignaud <tvignaud@mandriva.com>, François Micaux, Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Guérard <fevrier@tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>, Thomas Huriaux <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>, Denis Barbier <barbier@debian.org>, David Prévot <david@tilapin.org>, Jean-Paul Guillonneau <guillonneau.jeanpaul@free.fr> et Lucien Gentis <lucien.gentis@waika9.com>

Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org.

2 mai 2024 Pages du manuel de Linux 6.9.1