Smem

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Domaine Rapport mémoire avancé (PSS/USS)
Commande smem
Contexte Mesurer la vraie consommation mémoire d'un ensemble de process
Voir aussi Pmap · Mémoire

smem affiche des rapports mémoire plus précis que top/ps, en particulier via la métrique PSS — indispensable pour additionner correctement la consommation de plusieurs process qui partagent des bibliothèques.

Installation

apt install smem     # Debian/Ubuntu
yum install smem      # RHEL/CentOS

VSS, RSS, PSS, USS : la différence essentielle

  • VSS (Virtual Set Size) — mémoire virtuelle totale adressée par le process. Souvent trompeur : inclut de la mémoire jamais réellement utilisée (réservations, mappings paresseux).
  • RSS (Resident Set Size) — mémoire physique réellement en RAM pour ce process. Plus parlant que VSS, mais compte plusieurs fois la mémoire partagée (une bibliothèque chargée par 10 process apparaît 10 fois en RSS cumulé).
  • PSS (Proportional Set Size) — comme RSS, mais la mémoire partagée est divisée équitablement entre les process qui la partagent. C'est la métrique à utiliser pour additionner correctement la consommation de plusieurs process sans double-compter.
  • USS (Unique Set Size) — mémoire propre à ce process uniquement, non partagée. C'est ce qui serait effectivement libéré si on tuait ce process précis.

Conséquence pratique : additionner les RSS de 10 workers Apache/PHP-FPM surestime largement leur consommation réelle (chaque bibliothèque partagée est comptée 10 fois) — additionner leurs PSS donne un chiffre correct.

Usage

smem -ntkP httpd                              # tri, unités lisibles, tous les process "httpd"
smem -ktP httpd -c "vss uss pss rss" -r rss    # colonnes personnalisées, triées par rss

# visualiser les mappings mémoire détaillés (y compris "anonymous")
smem -m -ktP httpd -c "map uss pss rss" -r rss

# diagramme camembert par nom de process, basé sur rss
smem --pie name -s rss

Voir aussi

  • Pmap — cartographie mémoire d'un process unique
  • Mémoire — vue d'ensemble mémoire système