Un système qui manque de suffisamment de mémoire physique (RAM) fonctionnera beaucoup plus lentement, car les processus sont déplacés entre la RAM et le swap. Si un système Linux commence à fonctionner lentement, l’une des premières tâches de dépannage consiste à libérer de la mémoire physique.
Il existe plusieurs outils disponibles pour surveiller l’utilisation de la mémoire sur un système Linux, y compris top, dont nous avons discuté. Smem est un autre outil, utilisé pour surveiller l’utilisation de la mémoire. En plus d’afficher l’utilisation de la mémoire des processus sur la ligne de commande, smem peut également afficher un graphique à secteurs et/ou à barres codé par couleur. Avec smem, vous pouvez facilement visualiser l’utilisation de la mémoire sur votre système Linux.
Contenu
Installation
Sur les systèmes Debian et Ubuntu, smem peut être installé à partir des référentiels avec la commande
Vérifier l’utilisation de la mémoire
L’exécution de smem en tant qu’utilisateur non privilégié affichera la mémoire utilisée par tous les processus lancés avec l’ID utilisateur actuel, classé par PSS du moins au plus.
Par défaut, il y a sept colonnes, l’ID du processus, le nom d’utilisateur, la commande utilisée pour lancer le processus, la quantité d’espace de swap allouée au processus, et USS, PSS et RSS.
RSS
RSS (Resident set size) est la mémoire totale contenue dans la RAM pour un processus. Cela inclut la mémoire allouée aux bibliothèques partagées utilisées par le processus, bien que les bibliothèques partagées puissent être utilisées par plusieurs processus, tout en étant chargées une seule fois en mémoire. RSS n’est donc pas une représentation précise de la mémoire utilisée par un processus donné.
PSS
PSS (Proportional set size), quant à lui, partage la mémoire allouée à une bibliothèque partagée entre les processus qui l’utilisent. Ainsi, si trois processus utilisent une bibliothèque partagée de soixante pages, la bibliothèque contribuera vingt pages au PSS de chacun des processus. Le PSS total est généralement à peu près égal à la RAM totale du système. Cependant, lorsqu’un processus qui partage une bibliothèque est tué, le PSS signalé pour le processus n’est pas égal à la mémoire totale libérée.
USS
USS (Unique set size) fait référence à la mémoire unique totale d’un processus. Cela n’inclut pas la mémoire des bibliothèques partagées. Lorsqu’un processus est tué, l’USS fait référence à la mémoire réelle qui serait libérée. Par conséquent, l’USS est la valeur à surveiller si vous soupçonnez qu’un processus a une fuite de mémoire.
L’exécution de smem en tant que root affiche tous les processus pour tous les utilisateurs du système.
Visualiser l’utilisation de la mémoire
Un rapport visualisé est presque certainement plus facile à lire que des résultats textuels. En utilisant smem, vous pouvez afficher l’utilisation de la mémoire sous forme de camembert ou de graphique à barres.
Pour afficher un graphique à barres pour PSS, USS et RSS des processus de l’utilisateur actuel, exécutez la commande suivante :
Rappelons que le PSS est un reflet plus proche de la mémoire totale disponible sur le système. Pour afficher un graphique à secteurs, utilisez la commande suivante :
Pour afficher un graphique à secteurs de RSS étiqueté par nom :
À l’aide de smem, vous pouvez facilement afficher la mémoire utilisée par les applications et les processus sur votre système, avec un graphique à secteurs ou un graphique à barres à code couleur utile. Comme on dit souvent, une image vaut mille mots. Il semble que les développeurs de smem soient d’accord.
Cet article est-il utile ? Oui Non