Explication détaillée de la commande pmap pour les tests de performances Linux

黄舟
Libérer: 2017-09-30 11:10:27
original
4427 Les gens l'ont consulté

La commande pmap est utilisée pour afficher l'état de la mémoire d'un ou plusieurs processus. Voici une explication détaillée de la commande pmap de test de performances Linux à travers cet article. Les amis qui en ont besoin peuvent s'y référer

<.>Nom :


 pmap - report memory map of a process(查看进程的内存映像信息)
Copier après la connexion

Utilisation 


 pmap [ -x | -d ] [ -q ] pids...
    pmap -V
Copier après la connexion

Signification des options


 -x  extended    Show the extended format. 显示扩展格式
    -d  device     Show the device format.  显示设备格式
    -q  quiet     Do not display some header/footer lines. 不显示头尾行
    -V  show version  Displays version of program. 显示版本
Copier après la connexion
Champs de format étendu et de format d'appareil :


Address: start address of map 映像起始地址
    Kbytes: size of map in kilobytes 映像大小
    RSS: resident set size in kilobytes 驻留集大小
    Dirty: dirty pages (both shared and private) in kilobytes 脏页大小
    Mode: permissions on map 映像权限: r=read, w=write, x=execute, s=shared, p=private (copy on write) 
    Mapping: file backing the map , or &#39;[ anon ]&#39; for allocated memory, or &#39;[ stack ]&#39; for the program stack. 映像支持文件,[anon]为已分配内存 [stack]为程序堆栈
    Offset: offset into the file 文件偏移
    Device: device name (major:minor) 设备名
Copier après la connexion

Exemple :

Afficher le format de l'appareil du processus 1


[root@C44 ~]# pmap -d 1
1:  init [5]          
Address  Kbytes Mode Offset      Device  Mapping
00934000   88 r-x-- 0000000000000000 008:00005 ld-2.3.4.so
0094a000    4 r---- 0000000000015000 008:00005 ld-2.3.4.so
0094b000    4 rw--- 0000000000016000 008:00005 ld-2.3.4.so
0094e000  1188 r-x-- 0000000000000000 008:00005 libc-2.3.4.so
00a77000    8 r---- 0000000000129000 008:00005 libc-2.3.4.so
00a79000    8 rw--- 000000000012b000 008:00005 libc-2.3.4.so
00a7b000    8 rw--- 0000000000a7b000 000:00000  [ anon ]
00a85000   52 r-x-- 0000000000000000 008:00005 libsepol.so.1
00a92000    4 rw--- 000000000000c000 008:00005 libsepol.so.1
00a93000   32 rw--- 0000000000a93000 000:00000  [ anon ]
00d9d000   52 r-x-- 0000000000000000 008:00005 libselinux.so.1
00daa000    4 rw--- 000000000000d000 008:00005 libselinux.so.1
08048000   28 r-x-- 0000000000000000 008:00005 init
0804f000    4 rw--- 0000000000007000 008:00005 init
084e1000   132 rw--- 00000000084e1000 000:00000  [ anon ]
b7f5d000    8 rw--- 00000000b7f5d000 000:00000  [ anon ]
bffee000   72 rw--- 00000000bffee000 000:00000  [ stack ]
ffffe000    4 ----- 0000000000000000 000:00000  [ anon ]
mapped: 1700K  writeable/private: 276K  shared: 0K
[root@C44 ~]#
Copier après la connexion
La valeur de la dernière ligne

mapped représente l'adresse virtuelle mappée par le processus. La taille de l'espace, c'est-à-dire la taille de la mémoire virtuelle pré-allouée par le processus, c'est-à-dire la sortie vsz

inscriptible/privée de ps indique la taille de l'espace d'adressage privé occupé par le processus, qui est la taille de mémoire réelle utilisée par le processus

partagée représente la taille de mémoire partagée par le processus et d'autres processus

Afficher le format de périphérique du processus 1 , sans afficher la première et la dernière ligne


[root@C44 ~]# pmap -d -q 1
1:  init [5]          
00934000   88 r-x-- 0000000000000000 008:00005 ld-2.3.4.so
0094a000    4 r---- 0000000000015000 008:00005 ld-2.3.4.so
0094b000    4 rw--- 0000000000016000 008:00005 ld-2.3.4.so
0094e000  1188 r-x-- 0000000000000000 008:00005 libc-2.3.4.so
00a77000    8 r---- 0000000000129000 008:00005 libc-2.3.4.so
00a79000    8 rw--- 000000000012b000 008:00005 libc-2.3.4.so
00a7b000    8 rw--- 0000000000a7b000 000:00000  [ anon ]
00a85000   52 r-x-- 0000000000000000 008:00005 libsepol.so.1
00a92000    4 rw--- 000000000000c000 008:00005 libsepol.so.1
00a93000   32 rw--- 0000000000a93000 000:00000  [ anon ]
00d9d000   52 r-x-- 0000000000000000 008:00005 libselinux.so.1
00daa000    4 rw--- 000000000000d000 008:00005 libselinux.so.1
08048000   28 r-x-- 0000000000000000 008:00005 init
0804f000    4 rw--- 0000000000007000 008:00005 init
084e1000   132 rw--- 00000000084e1000 000:00000  [ anon ]
b7f5d000    8 rw--- 00000000b7f5d000 000:00000  [ anon ]
bffee000   72 rw--- 00000000bffee000 000:00000  [ stack ]
ffffe000    4 ----- 0000000000000000 000:00000  [ anon ]
[root@C44 ~]#
Copier après la connexion
Voir le processus Le format étendu de 1


[root@C44 ~]# pmap -x 1
1:  init [5]          
Address  Kbytes   RSS  Anon Locked Mode  Mapping
00934000   88    -    -    - r-x-- ld-2.3.4.so
0094a000    4    -    -    - r---- ld-2.3.4.so
0094b000    4    -    -    - rw--- ld-2.3.4.so
0094e000  1188    -    -    - r-x-- libc-2.3.4.so
00a77000    8    -    -    - r---- libc-2.3.4.so
00a79000    8    -    -    - rw--- libc-2.3.4.so
00a7b000    8    -    -    - rw---  [ anon ]
00a85000   52    -    -    - r-x-- libsepol.so.1
00a92000    4    -    -    - rw--- libsepol.so.1
00a93000   32    -    -    - rw---  [ anon ]
00d9d000   52    -    -    - r-x-- libselinux.so.1
00daa000    4    -    -    - rw--- libselinux.so.1
08048000   28    -    -    - r-x-- init
0804f000    4    -    -    - rw--- init
084e1000   132    -    -    - rw---  [ anon ]
b7f5d000    8    -    -    - rw---  [ anon ]
bffee000   72    -    -    - rw---  [ stack ]
ffffe000    4    -    -    - -----  [ anon ]
-------- ------- ------- ------- -------
total kB  1700    -    -    -
[root@C44 ~]#
Copier après la connexion
affiche la dernière ligne du format de l'appareil du processus 3066 en boucle, avec un intervalle de 2 secondes,


[root@C44 ~]# while true; do pmap -d 3066 | tail -1; sleep 2; done
mapped: 5412K  writeable/private: 2028K  shared: 0K
mapped: 5412K  writeable/private: 2028K  shared: 0K
mapped: 5412K  writeable/private: 2028K  shared: 0K
mapped: 5412K  writeable/private: 2028K  shared: 0K
mapped: 5412K  writeable/private: 2028K  shared: 0K
mapped: 5412K  writeable/private: 2028K  shared: 0K
mapped: 5412K  writeable/private: 2028K  shared: 0K
mapped: 5412K  writeable/private: 2028K  shared: 0K
mapped: 5412K  writeable/private: 2028K  shared: 0K
mapped: 5412K  writeable/private: 2028K  shared: 0K
mapped: 5412K  writeable/private: 2028K  shared: 0K
mapped: 5412K  writeable/private: 2028K  shared: 0K
mapped: 5412K  writeable/private: 2028K  shared: 0K
Copier après la connexion

Résumé

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!