IT/Smem

30 janvier 2020 Rédigé par Linuxine

Pour avoir une idée de la conso mémoire d’un programme, sous Linux, j’utilise smem. Sa particularité, outre de présenter les résultats sous forme bien sympa si on utilise les bons arguments, est de proposer plusieurs indicateurs : la consommation mémoire standard, RSS ou resident set size, mais aussi une mesure tenant compte des zones mémoires partagées par plusieurs applications, et donc moins surestimée : la proportional set size (PSS).

Une fois installé via yum ou apt, on peut le lancer directement sans argument, pour avoir la liste des process consommant de la mémoire pour l’utilisateur. Si on rajoute l’option -t, on a une ligne avec le total. L’option -k permet d’ajouter l’unité (Mb ou Gb). On peut aussi lui demander la conso mémoire d’un process en particulier, avec -P (on met un crochet sur la 1ere lettre pour éviter de voir apparaitre la commande smem dans la liste :

$ smem -t -k -P [i]ceweasel
PID User     Command                         Swap      USS      PSS      RSS 
24263 aline    /usr/lib/iceweasel/plugin-c        0   102.4M   106.2M   116.9M 
21283 aline    iceweasel -P -no-remote            0   435.1M   439.2M   455.0M 
28465 aline    iceweasel -P -no-remote            0   812.6M   815.3M   831.3M 
-------------------------------------------------------------------------------
  154 1                                           0     1.3G     1.3G     1.4G

J’aime bien cet affichage, car il est lisible et permet d’avoir d’un coup d’œil la somme de la mémoire consommée par tous les process liés à une application… et en unités compréhensibles, en plus ! Si on est fan de graphiques, smem permet aussi de représenter la consommation mémoire sous forme de pie chart, ou de barres. Par exemple, le consommation de tous les processus de l’utilisateur, par nom :

$ smem --pie=name

Donnera l’image suivante :

Un graphique en barre de la consommation mémoire sur les processus de Chrome donnera :

$ smem -P [c]hrome --bar=name

Et pour finir, un petit camenbert sur la consommation de Iceweasel :

$ smem -P [i]ceweasel --pie=name

Ce n’est pas super sexy, mais c’est tout de même très lisible, je trouve, et bien plus parlant qu’un tableau avec des unités en octets ! :p

Écrire un commentaire