Obtenez des statistiques d'utilisation de la mémoire avec cet outil de ligne de commande Linux
La commande smem vous permet de visualiser rapidement l'utilisation de la mémoire de vos applications Web.
Dans mon travail de programmation, j'ai souvent besoin de connaître la mémoire utilisée par les applications Web. Une estimation approximative suffit généralement avant de passer aux détails et aux outils de profilage du navigateur.
Pour interroger l'utilisation de la mémoire sous Linux ou macOS, les utilisateurs utilisent généralement top ou htop. J'aimerais voir un seul chiffre : combien de RAM un processus a-t-il consommé. Mais les statistiques affichées par ces utilitaires peuvent être difficiles à comprendre. Avec les navigateurs Web, c'est encore plus compliqué car ils exécutent souvent de nombreux processus distincts. Ils apparaissent tous dans les premiers résultats sous la forme d'une longue liste, chacun avec ses propres mesures.
(Tomasz Waraksa, CC BY-SA 4.0)
Heureusement, il existe smem, un autre utilitaire de ligne de commande permettant d'afficher les statistiques d'utilisation de la mémoire. Installez-le avec le gestionnaire de packages de votre choix, par exemple :
sudo apt install smem
Pour obtenir l'utilisation totale de la mémoire par Firefox, procédez :
smem -c pss -P firefox -k -t | tail -n 1
Que se passe t-il ici?
- Le commutateur
-c
spécifie les colonnes à afficher. Je ne m'intéresse qu'à la colonne pss , qui affiche la mémoire allouée par un processus. - Le commutateur
-P
filtre les processus pour inclure uniquement ceux avec firefox dans le nom - Le commutateur
-k
indique d'afficher l'utilisation de la mémoire en méga/gigaoctets au lieu d'octets bruts - Le commutateur
-t
affiche les totaux - Le filtre
tail -n 1
affiche uniquement la dernière ligne, juste là où se trouvent les totaux
Le résultat est aussi simple que possible :
$ smem -t -k -c pss -P firefox | tail -n 1
4.9G
Droit au but! Et après une autre journée de travail bien remplie, avec plus de cinquante onglets ouverts, Firefox n'utilise toujours que 5 Go. Prends ça, Google Chrome ;-)
Encore plus simple avec un script
Pour plus de commodité, créez un petit script nommé memory-use
, qui prend le nom du processus comme paramètre. Je garde tous mes scripts dans ~/bin
, donc :
echo 'smem -c pss -P "$1" -k -t | tail -n 1' > ~/bin/memory-use && chmod +x ~/bin/memory-use
Je peux désormais mesurer l'utilisation de la mémoire de n'importe quelle application aussi facilement que :
memory-use firefox
memory-use chrome
memory-use slack
Et il y a encore plus !
L'utilitaire peut faire bien plus que simplement afficher l'utilisation totale de la mémoire. Il peut même générer une sortie graphique.
Par exemple:
smem --pie name -c pss
Affiche quelque chose comme ceci :
(Tomasz Waraksa, CC BY-SA 4.0)
Pour plus de détails, je vous recommande de consulter les pages de manuel sme.
Vous pouvez trouver un autre excellent didacticiel sur https://linoxid.com/memory-usage-reporting-smem/.
Apprécier!
Cet article a été initialement publié sur le blog de l'auteur et est republié avec autorisation.