Plus de ressources Linux
- Aide-mémoire des commandes Linux
- Aide-mémoire des commandes Linux avancées
- Cours en ligne gratuit :Présentation technique de RHEL
- Aide-mémoire sur le réseau Linux
- Aide-mémoire SELinux
- Aide-mémoire sur les commandes courantes de Linux
- Que sont les conteneurs Linux ?
- Nos derniers articles Linux
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 pris. 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 la sortie supérieure sous la forme d'une longue liste, chacun avec ses propres mesures individuelles.
Entrez la commande smem
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 comme suit :
smem -c pss -P firefox -k -t | tail -n 1
Que se passe-t-il ici ?
-c
switch spécifie les colonnes à afficher. Je ne suis intéressé que par le pss colonne, qui affiche la mémoire allouée par un processus.-P
changer les processus de filtres pour n'inclure que ceux avec firefox au nom-k
switch indique d'afficher l'utilisation de la mémoire en méga/gigaoctets au lieu d'octets simples-t
le commutateur affiche les totauxtail -n 1
le filtre affiche uniquement la dernière ligne, 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 facile 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
Maintenant, je peux 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 montrer 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 :
Pour plus de détails, je vous recommande de consulter les pages de manuel smem.
Vous pouvez trouver un autre excellent didacticiel sur https://linoxide.com/memory-usage-reporting-smem/.
Amusez-vous !
Cet article a initialement été publié sur le blog de l'auteur et est republié avec autorisation.