Les processus exécutés sur un système d'exploitation sont alloués à différentes régions qui utilisent un espace de mémoire virtuel mappé à la mémoire physique dans une couche d'abstraction. Le noyau conserve ainsi un tableau de traduction mettant en évidence chaque processus, et toutes les modifications apportées sont mises à jour sur le tableau de traduction. La commande PMAP est nécessaire pour accéder à cet espace mémoire utilisé par chaque processus, et dans ce guide, vous apprendrez à utiliser la commande PMAP pour afficher l'utilisation de la mémoire par un processus."
Comment utiliser PMAP
La syntaxe à utiliser PMAP est:
PMAP [Options] PID […]
Par conséquent, la première chose à faire est d'obtenir l'identifiant de processus du processus particulier, et il existe différentes façons d'obtenir le PID. Pour obtenir rapidement le PID d'un processus, utilisez le PS Aux, puis grep le nom de processus ou utilisez l'option PIDOF.
Par exemple, pour obtenir le PID du processus Bash:
1. Utilisation de PS Aux
$ ps Aux | bash grep
2. Utilisation du pidof
$ pidof bash
En utilisant
PMAP pour obtenir l'utilisation de la mémoire d'un seul processus
Maintenant que vous avez le PID de votre processus cible, vous pouvez vérifier son utilisation de la mémoire en utilisant la commande ci-dessous.
$ PMAP 4959
La sortie sera:
À partir de la sortie, vous pouvez voir que la première ligne met en évidence le nom du processus, dans ce cas, Bash et son identifiant de processus. Les lignes suivantes commencent par l'adresse de mémoire mappée, suivie de la taille de la mémoire de l'adresse de mémoire particulière en kilobytes.
Les autres caractères représentent les autorisations de la mémoire virtuelle, analysé ci-dessous.
r: implique que le processus peut lire la mémoire mappée.
w: implique que le processus peut écrire dans la mémoire mappée.
X: implique que le processus peut exécuter des instructions dans la mémoire mappée.
Utilisation de PMAP pour obtenir une utilisation de la mémoire de plusieurs processus
La commande PMAP est utilisée avec plusieurs PIDS séparées par un espace pour obtenir leur utilisation de la mémoire. Par exemple, si vous avez des Pids 1818, 1741 et 4959, la commande sera:
$ PMAP 1818 1741 4959
La sortie est similaire à un seul processus, sauf que l'utilisation de la mémoire sera séparée par chaque processus, comme indiqué ci-dessous.
Pour la sortie du processus suivant:
Obtenir une sortie PMAP étendue
Pour obtenir un format étendu de l'utilisation de la mémoire, ajoutez -x à la commande PMAP comme dans l'exemple ci-dessous.
$ pmap -x 4959
La sortie étendue de la commande sera:
Vous noterez que certains champs supplémentaires s'affichent avec la sortie étendue. Chacun des champs représente différentes informations d'utilisation de la mémoire.
Adresse: Il représente l'adresse de départ de la cartographie.
Kytes: c'est la taille de l'espace mémoire virtuel.
RSS: Ceci est la taille de l'ensemble résident représenté en kilobytes.
Sale: les pages sales partagées et privées exprimées en kilobytes.
Mode: les autorisations de carte.
Mappage: c'est le fichier qui soutient la carte, et il peut s'agir de '[pile]' ou '[anon]'.
PMAP Afficher le format de l'appareil
L'option -D, lorsqu'elle est utilisée avec PMAP, publie le format de périphérique associé au processus particulier.
$ PMAP -D 4959
Deux autres champs sont ajoutés à la sortie.
Compenser: il représente le décalage du fichier si la mémoire est basée sur un fichier.
Appareil: le format de l'appareil.
PMAP affiche tout
L'option -x affiche la sortie étendue. Cependant, vous pouvez montrer tout ce que le noyau peut obtenir sur l'utilisation de la mémoire d'un processus en ajoutant l'option -x.
$ pmap -x 4959
Autres options PMAP
1. Obtenir le chemin complet
Pour obtenir le chemin complet des fichiers:
$ PMAP -P 4959
2. Ignorer les noms de colonne
Si vous souhaitez exclure les noms de colonnes lors de l'affichage du rapport de sortie, par exemple, lorsque vous obtenez le nom du périphérique:
$ PMAP -QD 4959
3. Obtenez la version PMAP
Pour voir la version PMAP actuelle:
$ pmap -v
4. Page d'aide PMAP
Pour ouvrir la page d'aide PMAP.
$ pmap - -Help
Conclusion
Lorsque vous travaillez avec Linux, la compréhension de la gestion de la mémoire peut être compliquée. Heureusement, avec l'aide de la commande PMAP, vous pouvez obtenir une image complète de ce qui se passe en mémoire. Une commande PMAP est un excellent outil pour toute personne traitant des cartes de mémoire de processus. Ce guide a couvert l'utilisation commune de la commande PMAP Linux pour vous faire démarrer.