精华内容
下载资源
问答
  • pmap命令
    2021-11-12 09:28:17

    pmap命令用于报告进程的内存映射关系,是Linux调试及运维一个很好的工具。

    语法
    pmap(选项)(参数)
    选项
    -x:显示扩展格式;
    -d:显示设备格式;
    -q:不显示头尾行;
    -V:显示指定版本。
    参数
    进程号:指定需要显示内存映射关系的进程号,可以是多个进程号。

    实例

    pidof nginx
    13312 5371
    
    pmap -x 5371
    5371:   nginx: worker process                
    Address           Kbytes     RSS   Dirty Mode   Mapping
    0000000000400000     564     344       0 r-x--  nginx
    000000000068c000      68      68      60 rw---  nginx
    000000000069d000      56      12      12 rw---    [ anon ]
    000000000a0c8000    1812    1684    1684 rw---    [ anon ]
    0000003ac0a00000     112      40       0 r-x--  ld-2.5.so
    0000003ac0c1c000       4       4       4 r----  ld-2.5.so
    0000003ac0c1d000       4       4       4 rw---  ld-2.5.so
    0000003ac0e00000    1340     284       0 r-x--  libc-2.5.so
    0000003ac0f4f000    2044       0       0 -----  libc-2.5.so
    0000003ac114e000      16      16       8 r----  libc-2.5.so
    0000003ac1152000       4       4       4 rw---  libc-2.5.so
    0000003ac1153000      20      20      20 rw---    [ anon ]
    0000003ac1200000       8       4       0 r-x--  libdl-2.5.so
    0000003ac1202000    2048       0       0 -----  libdl-2.5.so
    0000003ac1402000       4       4       4 r----  libdl-2.5.so
    0000003ac1403000       4       4       4 rw---  libdl-2.5.so
    0000003ac1600000      84       0       0 r-x--  libselinux.so.1
    0000003ac1615000    2048       0       0 -----  libselinux.so.1
    0000003ac1815000       8       8       8 rw---  libselinux.so.1
    0000003ac1817000       4       4       4 rw---    [ anon ]
    0000003ac1a00000     236       0       0 r-x--  libsepol.so.1
    0000003ac1a3b000    2048       0       0 -----  libsepol.so.1
    0000003ac1c3b000       4       4       4 rw---  libsepol.so.1
    0000003ac1c3c000      40       0       0 rw---    [ anon ]
    0000003ac1e00000      88      44       0 r-x--  libpthread-2.5.so
    0000003ac1e16000    2048       0       0 -----  libpthread-2.5.so
    0000003ac2016000       4       4       4 r----  libpthread-2.5.so
    0000003ac2017000       4       4       4 rw---  libpthread-2.5.so
    0000003ac2018000      16       4       4 rw---    [ anon ]
    0000003ac2600000      80      52       0 r-x--  libz.so.1.2.3
    0000003ac2614000    2044       0       0 -----  libz.so.1.2.3
    0000003ac2813000       4       4       4 rw---  libz.so.1.2.3
    0000003ac2a00000      36       4       0 r-x--  libcrypt-2.5.so
    0000003ac2a09000    2044       0       0 -----  libcrypt-2.5.so
    0000003ac2c08000       4       4       4 r----  libcrypt-2.5.so
    0000003ac2c09000       4       4       4 rw---  libcrypt-2.5.so
    0000003ac2c0a000     184       0       0 rw---    [ anon ]
    0000003ac3600000       8       0       0 r-x--  libkeyutils-1.2.so
    0000003ac3602000    2044       0       0 -----  libkeyutils-1.2.so
    0000003ac3801000       4       4       4 rw---  libkeyutils-1.2.so
    0000003ac3a00000      68       0       0 r-x--  libresolv-2.5.so
    0000003ac3a11000    2048       0       0 -----  libresolv-2.5.so
    0000003ac3c11000       4       4       4 r----  libresolv-2.5.so
    0000003ac3c12000       4       4       4 rw---  libresolv-2.5.so
    0000003ac3c13000       8       0       0 rw---    [ anon ]
    0000003ac3e00000       8       0       0 r-x--  libcom_err.so.2.1
    0000003ac3e02000    2044       0       0 -----  libcom_err.so.2.1
    0000003ac4001000       4       4       4 rw---  libcom_err.so.2.1
    0000003ac4200000    1204       8       0 r-x--  libcrypto.so.0.9.8e
    0000003ac432d000    2044       0       0 -----  libcrypto.so.0.9.8e
    0000003ac452c000     132      88      12 rw---  libcrypto.so.0.9.8e
    0000003ac454d000      16      12      12 rw---    [ anon ]
    0000003ac4600000     176       0       0 r-x--  libgssapi_krb5.so.2.2
    0000003ac462c000    2048       0       0 -----  libgssapi_krb5.so.2.2
    0000003ac482c000       8       8       8 rw---  libgssapi_krb5.so.2.2
    0000003ac4a00000     144       0       0 r-x--  libk5crypto.so.3.1
    0000003ac4a24000    2044       0       0 -----  libk5crypto.so.3.1
    0000003ac4c23000       8       8       8 rw---  libk5crypto.so.3.1
    0000003ac4e00000      32       0       0 r-x--  libkrb5support.so.0.1
    0000003ac4e08000    2044       0       0 -----  libkrb5support.so.0.1
    0000003ac5007000       4       4       4 rw---  libkrb5support.so.0.1
    0000003ac5200000     580       0       0 r-x--  libkrb5.so.3.3
    0000003ac5291000    2048       0       0 -----  libkrb5.so.3.3
    0000003ac5491000      16      16      12 rw---  libkrb5.so.3.3
    0000003ac5a00000     288       4       0 r-x--  libssl.so.0.9.8e
    0000003ac5a48000    2048       0       0 -----  libssl.so.0.9.8e
    0000003ac5c48000      24      16      12 rw---  libssl.so.0.9.8e
    00002b5751808000       8       8       8 rw---    [ anon ]
    00002b5751810000     108      36       0 r-x--  libpcre.so.1.2.0
    00002b575182b000    2044       0       0 -----  libpcre.so.1.2.0
    00002b5751a2a000       4       4       4 rw---  libpcre.so.1.2.0
    00002b5751a2b000      28      28      28 rw---    [ anon ]
    00002b5751a32000      40      20       0 r-x--  libnss_files-2.5.so
    00002b5751a3c000    2044       0       0 -----  libnss_files-2.5.so
    00002b5751c3b000       4       4       4 r----  libnss_files-2.5.so
    00002b5751c3c000       4       4       4 rw---  libnss_files-2.5.so
    00002b5751c3d000       4       4       4 rw-s-  zero (deleted)
    00002b5751c3e000   20012   20000   20000 rw---    [ anon ]
    00007fffbf2ce000      84      20      20 rw---    [ stack ]
    00007fffbf35e000      12       0       0 r-x--    [ anon ]
    ffffffffff600000    8192       0       0 -----    [ anon ]
    ----------------  ------  ------  ------
    total kB           72880   22940   22000
    1. Address: 内存开始地址
    2. Kbytes: 占用内存的字节数(KB)
    3. RSS: 保留内存的字节数(KB)
    4. Dirty: 脏页的字节数(包括共享和私有的)(KB)
    5. Mode: 内存的权限:read、write、execute、shared、private (写时复制)
    6. Mapping: 占用内存的文件、或[anon](分配的内存)、或[stack](堆栈)
    7. Offset: 文件偏移
    8. Device: 设备名 (major:minor)
    更多相关内容
  • pmap命令主要用于显示进程的地址空间,除了指定进程,如果不加任何选项,pmap命令将会显示指定进程每个内存映像的起始地址、虚拟内存的大小、进程的访问地址空间的权限,以及内存映射文件等。 语法格式:pmap [参数]...
  • linux中 pmap 命令详解

    2020-09-15 07:28:09
    主要介绍了linux中 pmap 命令详解,需要的朋友可以参考下
  • pmap - report memory map of a process(查看进程的内存映像信息) 用法  pmap [ -x | -d ] [ -q ] pids... pmap -V 选项含义 -x extended Show the extended format. 显示扩展格式 -d device Show the ...
  • 值得庆幸的是,该pmap 命令可以帮助您理解这一切。 内存映射 在现代操作系统上,每个进程都存在于自己分配的内存区域或分配空间中。分配区域的边界不直接映射到物理硬件地址。操作系统为每个进程创建一个虚拟内存...

    在这里插入图片描述
    找出一个 Linux 进程使用了​​多少 RAM 并不是一件简单的事情——尤其是在需要考虑共享内存的时候。值得庆幸的是,该pmap 命令可以帮助您理解这一切。

    内存映射

    在现代操作系统上,每个进程都存在于自己分配的内存区域或分配空间中。分配区域的边界不直接映射到物理硬件地址。操作系统为每个进程创建一个虚拟内存空间,并充当将虚拟内存映射到物理内存的抽象层。

    内核为每个进程维护一个转换表,并由CPU访问。当内核更改在特定CPU 内核上运行的进程时,它会更新将进程和 CPU 内核联系在一起的转换表。

    抽象的好处

    这个计划有好处。对于用户空间中的每个进程,内存的使用在某种程度上被封装和沙盒化。进程仅根据虚拟内存地址“看到”内存。这意味着它只能使用操作系统提供的内存。除非它可以访问某些共享内存,否则它既不知道也无法访问分配给其他进程的内存。

    将基于硬件的物理内存抽象为虚拟内存地址,让内核可以更改某些虚拟内存映射到的物理地址。它可以通过更改虚拟内存区域指向的实际地址来将内存交换到磁盘。它还可以推迟提供物理内存,直到实际需要。

    只要读取或写入内存的请求在请求时得到服务,内核就可以自由地在它认为合适的时候调整映射表。

    按需内存

    映射表和“RAM on demand”的概念开启了共享内存的可能性。内核将尝试避免多次将相同的东西加载到内存中。例如,它将一个共享库加载到内存中一次,并将其映射到需要使用它的不同进程。每个进程都有自己唯一的共享库地址,但它们都指向同一个实际位置。

    如果内存的共享区域是可写的,内核使用一种称为写时复制的方案。如果一个进程写入共享内存,而共享该内存的其他进程不应该看到更改,则在写入请求时创建共享内存的副本。
    2009 年 12 月发布的 Linux 内核 2.6.32 为 Linux 提供了一个名为“Kernel SamePage Merging”的功能。这意味着 Linux 可以检测不同地址空间中相同的数据区域。想象一下在一台计算机上运行一系列虚拟机,并且这些虚拟机都运行相同的操作系统。使用共享内存模型和写时复制,主机上的开销可以大大减少。

    所有这些都使得 Linux 中的内存处理变得复杂且尽可能优化。但是这种复杂性使得很难查看一个进程并知道它的内存使用情况到底是什么。

    pmap 实用程序

    内核通过“/proc”系统信息伪文件系统中的两个伪文件公开了它对RAM所做的很多事情。每个进程有两个文件,以每个进程的进程 ID 或PID命名:“/proc/maps”和“/proc//smaps”。

    该pmap工具从这些文件中读取信息并在终端窗口中显示结果。很明显,每当我们使用pmap.

    查找进程 ID

    有几种方法可以找到进程的 PID。这是我们将在示例中使用的一个简单程序的源代码。它是用 C 语言编写的。它所做的只是向终端窗口打印一条消息并等待用户按下“Enter”键。

    #include <stdio.h>
    
    int main(int argc, char *argv[])
    {
      printf("How-To Geek test program.");
      getc(stdin);
    } // end of main
    

    pm该程序被编译为使用编译器调用的可执行文件gcc:

    gcc -o pm pm.c
    

    在这里插入图片描述
    因为程序会等待用户点击“Enter”,所以它会一直运行,只要我们愿意。

    ./pm
    

    在这里插入图片描述
    程序启动,打印消息,并等待击键。我们现在可以搜索它的 PID。该ps命令列出正在运行的进程。(-e显示所有进程)选项ps列出每个进程。我们将通过管道输出grep并过滤掉名称中包含“pm”的条目。

    ps -e | grep pm
    
    

    在这里插入图片描述
    这列出了名称中任何位置带有“pm”的所有条目。

    我们可以使用pidof命令更具体。我们pidof在命令行上给出我们感兴趣的进程的名称,它会尝试找到匹配项。如果找到匹配项,则pidof打印匹配进程的 PID。

    pidof pm
    
    

    在这里插入图片描述
    当你知道进程的名称时,该pidof方法更简洁,但ps即使只知道部分进程名称,该方法也将起作用。

    使用 pmap

    随着我们的测试程序运行,一旦我们确定了它的 PID,我们就可以像这样使用 pmap:

    pmap 40919
    
    

    在这里插入图片描述
    为我们列出了进程的内存映射。

    在这里插入图片描述
    这是命令的完整输出:

    40919: ./pm
    000056059f06c000      4K r---- pm
    000056059f06d000      4K r-x-- pm
    000056059f06e000      4K r---- pm
    000056059f06f000      4K r---- pm
    000056059f070000      4K rw--- pm
    000056059fc39000    132K rw--- [ anon ]
    00007f97a3edb000      8K rw--- [ anon ]
    00007f97a3edd000    160K r---- libc.so.6
    00007f97a3f05000   1616K r-x-- libc.so.6
    00007f97a4099000    352K r---- libc.so.6
    00007f97a40f1000      4K ----- libc.so.6
    00007f97a40f2000     16K r---- libc.so.6
    00007f97a40f6000      8K rw--- libc.so.6
    00007f97a40f8000     60K rw--- [ anon ]
    00007f97a4116000      4K r---- ld-linux-x86-64.so.2
    00007f97a4117000    160K r-x-- ld-linux-x86-64.so.2
    00007f97a413f000     40K r---- ld-linux-x86-64.so.2
    00007f97a4149000      8K r---- ld-linux-x86-64.so.2
    00007f97a414b000      8K rw--- ld-linux-x86-64.so.2
    00007ffca0e7e000    132K rw--- [ stack ]
    00007ffca0fe1000     16K r---- [ anon ]
    00007ffca0fe5000      8K r-x-- [ anon ]
    ffffffffff600000      4K --x-- [ anon ]
    total              2756K
    

    第一行是进程名称和它的 PID。其他每一行显示一个映射的内存地址,以及该地址的内存量,以千字节表示。每行接下来的五个字符称为 虚拟内存权限。有效权限是:

    • r:映射的内存可以被进程读取。
    • w:映射的内存可以被进程写入。
    • x:进程可以执行映射内存中包含的任何指令。
    • s:映射内存是共享的,对共享内存所做的更改对共享内存的所有进程都是可见的。
    • R:没有为这个映射内存预留交换空间。
      每行的最后信息是映射源的名称。这可以是进程名称、库名称或系统名称,例如堆栈或堆。

    扩展显示

    ( -xextended) 选项提供了两个额外的列。

    pmap -x 40919
    

    在这里插入图片描述
    列有标题。我们已经看到了“地址”、“千字节”、“模式”和“映射”列。新列称为“RSS”和“Dirty”。

    在这里插入图片描述
    这是完整的输出:

    40919: ./pm
    Address          Kbytes   RSS Dirty Mode  Mapping
    000056059f06c000      4     4     0 r---- pm
    000056059f06d000      4     4     0 r-x-- pm
    000056059f06e000      4     4     0 r---- pm
    000056059f06f000      4     4     4 r---- pm
    000056059f070000      4     4     4 rw--- pm
    000056059fc39000    132     4     4 rw--- [ anon ]
    00007f97a3edb000      8     4     4 rw--- [ anon ]
    00007f97a3edd000    160   160     0 r---- libc.so.6
    00007f97a3f05000   1616   788     0 r-x-- libc.so.6
    00007f97a4099000    352    64     0 r---- libc.so.6
    00007f97a40f1000      4     0     0 ----- libc.so.6
    00007f97a40f2000     16    16    16 r---- libc.so.6
    00007f97a40f6000      8     8     8 rw--- libc.so.6
    00007f97a40f8000     60    28    28 rw--- [ anon ]
    00007f97a4116000      4     4     0 r---- ld-linux-x86-64.so.2
    00007f97a4117000    160   160     0 r-x-- ld-linux-x86-64.so.2
    00007f97a413f000     40    40     0 r---- ld-linux-x86-64.so.2
    00007f97a4149000      8     8     8 r---- ld-linux-x86-64.so.2
    00007f97a414b000      8     8     8 rw--- ld-linux-x86-64.so.2
    00007ffca0e7e000    132    12    12 rw--- [ stack ]
    00007ffca0fe1000     16     0     0 r---- [ anon ]
    00007ffca0fe5000      8     4     0 r-x-- [ anon ]
    ffffffffff600000      4     0     0 --x-- [ anon ]
    ---------------- ------- ------- ------- 
    total kB           2756  1328    96
    ---------------- ------- ------- ------- 
    总 kB 2756 1328 96
    
    • RSS:这是 驻留集的大小。也就是说,当前在 RAM 中且未换出的内存量。
    • Dirty:自从进程和映射开始以来,“Dirty”内存已被更改。

    向我展示一切

    (-X 甚至超过扩展)在输出中添加了额外的列。注意大写的“X”。另一个名为-XX(甚至更多-X)的选项向您展示了pmap可以从内核获得的一切。作为-X的子集-XX,我们将描述 的输出-XX。

    pmap -XX 40919
    

    在这里插入图片描述
    输出在终端窗口中可怕地环绕,几乎无法辨认。这是完整的输出:

    40919:./下午
             地址 Perm Offset Device Inode Size KernelPageSize MMUPageSize Rss Pss Shared_Clean Shared_Dirty Private_Clean Private_Dirty 引用匿名 LazyFree AnonHugePages ShmemPmdMapped FilePmdMapped Shared_Hugetlb Private_Hugetlb Swap SwapPss Locked THPeligible VmFlags Mapping
        56059f06c000 r--p 00000000 08:03 393304 4 4 4 4 4 0 0 4 0 4 0 0 0 0 0 0 0 0 0 0 0 rd mr mw me dw sd pm
        56059f06d000 r-xp 00001000 08:03 393304 4 4 4 4 4 0 0 4 0 4 0 0 0 0 0 0 0 0 0 0 0 rd ex mr mw me dw sd pm
        56059f06e000 r--p 00002000 08:03 393304 4 4 4 4 4 0 0 4 0 4 0 0 0 0 0 0 0 0 0 0 0 rd mr mw me dw sd pm
        56059f06f000 r--p 00002000 08:03 393304 4 4 4 4 4 0 0 0 4 4 4 0 0 0 0 0 0 0 0 0 0 rd mr mw me dw ac sd pm
        56059f070000 rw-p 00003000 08:03 393304 4 4 4 4 4 0 0 0 4 4 4 0 0 0 0 0 0 0 0 0 0 rd wr mr mw me dw ac sd pm
        56059fc39000 rw-p 00000000 00:00 0 132 4 4 4 4 0 0 0 4 4 4 0 0 0 0 0 0 0 0 0 0 rd wr mr mw me ac sd []
        7f97a3edb000 rw-p 00000000 00:00 0 8 4 4 4 4 0 0 0 4 4 4 0 0 0 0 0 0 0 0 0 0 rd wr mr mw me ac sd
        7f97a3edd000 r--p 00000000 08:03 264328 160 4 4 160 4 160 0 0 0 160 0 0 0 0 0 0 0 0 0 0 0 rd mr mw me sd libc.so.6
        7f97a3f05000 r-xp 00028000 08:03 264328 1616 4 4 788 32 788 0 0 0 788 0 0 0 0 0 0 0 0 0 0 0 rd ex mr mw me sd libc.so.6
        7f97a4099000 r--p 001bc000 08:03 264328 352 4 4 64 1 64 0 0 0 64 0 0 0 0 0 0 0 0 0 0 0 rd mr mw me sd libc.so.6
        7f97a40f1000 ---p 00214000 08:03 264328 4 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 mr mw me sd libc.so.6
        7f97a40f2000 r--p 00214000 08:03 264328 16 4 4 16 16 0 0 0 16 16 16 0 0 0 0 0 0 0 0 0 0 rd mr mw me ac sd libc.so.6
        7f97a40f6000 rw-p 00218000 08:03 264328 8 4 4 8 8 0 0 0 8 8 8 0 0 0 0 0 0 0 0 0 0 rd wr mr mw me ac sd libc.so.6
        7f97a40f8000 rw-p 00000000 00:00 0 60 4 4 28 28 0 0 0 28 28 28 0 0 0 0 0 0 0 0 0 0 rd wr mr mw me ac sd
        7f97a4116000 r--p 00000000 08:03 264305 4 4 4 4 0 4 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 rd mr mw me dw sd ld-linux-x86-64.so.2
        7f97a4117000 r-xp 00001000 08:03 264305 160 4 4 160 11 160 0 0 0 160 0 0 0 0 0 0 0 0 0 0 0 rd ex mr mw me dw sd ld-linux-x86-64.so.2
        7f97a413f000 r--p 00029000 08:03 264305 40 4 4 40 1 40 0 0 0 40 0 0 0 0 0 0 0 0 0 0 0 rd mr mw me dw sd ld-linux-x86-64.so.2
        7f97a4149000 r--p 00032000 08:03 264305 8 4 4 8 8 0 0 0 8 8 8 0 0 0 0 0 0 0 0 0 0 rd mr mw me dw ac sd ld-linux-x86-64.so.2
        7f97a414b000 rw-p 00034000 08:03 264305 8 4 4 8 8 0 0 0 8 8 8 0 0 0 0 0 0 0 0 0 0 rd wr mr mw me dw ac sd ld-linux-x86-64.so.2
        7ffca0e7e000 rw-p 00000000 00:00 0 132 4 4 12 12 0 0 0 12 12 12 0 0 0 0 0 0 0 0 0 0 rd wr mr mw me gd ac [堆栈]
        7ffca0fe1000 r--p 00000000 00:00 0 16 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 rd mr pf io de dd sd [vvar]
        7ffca0fe5000 r-xp 00000000 00:00 0 8 4 4 4 0 4 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 rd ex mr mw me de sd [vdso]
    ffffffffff600000 --xp 00000000 00:00 0 4 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ex [vsyscall]
                                                 ==== ============== =========== ==== === ============ ============ ============= ============= ========== ========= ======== ============= ============== ============= ============== =============== ==== ======= ====== =========== 
    

    这里有很多信息。这是列的内容:

    地址:此映射的起始地址。这使用虚拟内存寻址。
    Perm:内存的权限。
    Offset:如果内存是基于文件的,则此映射在文件内的偏移量。
    Device:Linux 设备号,以主要和次要数字给出。您可以通过运行命令查看计算机上的设备编号。lsblk
    Inode:与映射关联的文件的inode 。例如,在我们的示例中,这可能是保存有关 pm 程序信息的 inode。
    Size:内存映射区域的大小。
    KernelPageSize:内核使用的页面大小。
    MMUPageSize:内存管理单元使用的页面大小。
    Rss:这是 驻留集的大小。也就是说,当前在 RAM 中且未换出的内存量。
    Pss:这是 比例份额大小。这是添加到的私有共享大小(共享大小除以共享数量。)
    Shared_Clean:与其他进程共享的内存量,自映射创建以来未更改。请注意,即使内存是可共享的,如果它实际上没有被共享,它仍然被认为是私有内存。
    Shared_Dirty:与其他进程共享的内存量,自映射创建以来已更改。
    Private_Clean :自映射创建以来未与其他进程共享的私有内存量。
    Private_Dirty :自映射创建以来已更改的私有内存量。
    Referenced:当前标记为已引用或已访问的内存量。
    匿名:没有设备可换出的内存。也就是说,它不是文件支持的。
    LazyFree : 被标记为MADV_FREE. 这些页面已被标记为可以释放和回收,即使它们可能有不成文的更改。但是,如果MADV_FREE在设置内存映射之后发生后续更改,MADV_FREE则删除该标志并且在写入更改之前不会回收页面。
    AnonHugePages:这些是非文件支持的“巨大”内存页面(大于 4 KB)。
    ShmemPmdMapped:与大页面关联的共享内存。它们也可能被完全驻留在内存中的文件系统使用。
    FilePmdMapped:页面中间目录是内核可用的分页方案之一。这是 PMD 条目指向的文件支持页面的数量。
    Shared_Hugetlb:转换后备表或 TLB 是内存缓存,用于优化访问用户空间内存位置所花费的时间。这个数字是与共享大内存页面相关联的 TLB 中使用的 RAM 量。
    Private_Hugetlb:这个数字是与私有大内存页面相关联的 TLB 中使用的 RAM 量。
    交换:正在使用的交换量。
    SwapPss: 交换比例份额大小。这是由添加到(共享大小除以共享数)的已交换专用内存页组成的交换量。
    Locked:可以锁定内存映射以防止操作系统调出堆或堆外内存。
    THPeligible:这是一个标志,指示映射是否有资格分配 透明大页面。1 表示正确,0 表示错误。透明大页面是一种内存管理系统,可减少在具有大量 RAM 的计算机上查找 TLB 页面的开销。
    VmFlags:请参阅下面的标志列表。
    映射:映射源的名称。这可以是进程名称、库名称或系统名称,例如堆栈或堆。

    VmFlags - 虚拟内存标志 - 将是以下列表的子集。

    rd:可读。
    wr:可写。
    例如:可执行。
    sh:共享。
    先生:可以阅读。
    mw : 可以写。
    我:可以执行。
    女士:可以分享。
    gd:堆栈段向下增长。
    pf:纯页框号范围。页框号是物理内存页的列表。
    dw:禁用对映射文件的写入。
    lo:页面被锁定在内存中。
    io : 内存映射 I/O 区域。
    sr:提供的顺序读取建议(由madvise()函数提供。)
    rr:提供随机阅读建议。
    dc:如果进程被分叉,则不要复制此内存区域。
    de:不要在重新映射时扩展此内存区域。
    ac:区域负责。
    nr:不为该区域保留交换空间。
    ht:区域使用巨大的 TLB 页面。
    sf:同步页面错误。
    ar:特定于架构的标志。
    wf:如果进程被分叉,则擦除此内存区域。
    dd:不要在核心转储中包含此内存区域。
    sd:软脏标志。
    mm:混合地图区域。
    hg:巨大的页面建议标志。
    nh:没有大页面建议标志。
    mg:可合并的建议标志。
    bt:ARM64 偏置温度不稳定保护页面。
    mt:启用 ARM64 内存标记扩展标记。
    um : Userfaultfd 缺少跟踪。
    uw : Userfaultfd 写入保护跟踪。

    内存管理很复杂

    并且从数据表向后工作以了解实际发生的事情是困难的。但至少pmap可以为您提供全面的信息,以便您有最好的机会弄清楚您需要知道什么。
    有趣的是,我们的示例程序编译为 16 KB 的二进制可执行文件,但它使用(或共享)了大约 2756 KB 的内存,这几乎完全归功于运行时库。

    最后一个巧妙的技巧是,您可以将命令pmap和pidof命令一起使用,将查找进程的 PID 并将其传递给pmap一个命令的操作结合起来:

    pmap $(pidof pm)
    
    展开全文
  • pmap命令详解

    千次阅读 2020-03-20 09:34:05
    pmap - report memory map of a process(查看进程的内存映像信息)pmap命令用于报告进程的内存映射关系,是Linux调试及运维一个很好的工具。 用法 pmap [ -x | -d ] [ -q ] pids… pmap -V 选项含义 -x extended Show...

    简介:
    pmap - report memory map of a process(查看进程的内存映像信息)pmap命令用于报告进程的内存映射关系,是Linux调试及运维一个很好的工具。
    用法
    pmap [ -x | -d ] [ -q ] pids…
    pmap -V
    选项含义
    -x extended Show the extended format. 显示扩展格式
    -XX show everything the kernel provides 显示内核提供的一切信息
    -d device Show the device format. 显示设备格式
    -q quiet Do not display some header/footer lines. 不显示头尾行
    -V show version Displays version of program. 显示版本
    扩展格式和设备格式域:
    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 ‘[ anon ]’ for allocated memory, or ‘[ stack ]’ for the program stack. 映像支持文件,[anon]为已分配内存 [stack]为程序堆栈
    Offset: offset into the file 文件偏移
    Device: device name (major:minor) 设备名

    1. 查看进程1 的地址
    [root@master ~]# pmap -d 1
    1:   /usr/lib/systemd/systemd --switched-root --system --deserialize 22
    Address           Kbytes Mode  Offset           Device    Mapping
    00007fd5d7abc000      16 r-x-- 0000000000000000 0fd:00000 libuuid.so.1.3.0
    00007fd5d7ac0000    2044 ----- 0000000000004000 0fd:00000 libuuid.so.1.3.0
    00007fd5d7cbf000       4 r---- 0000000000003000 0fd:00000 libuuid.so.1.3.0
    00007fd5d7cc0000       4 rw--- 0000000000004000 0fd:00000 libuuid.so.1.3.0
    00007fd5d7cc1000     224 r-x-- 0000000000000000 0fd:00000 libblkid.so.1.1.0
    00007fd5d7cf9000    2048 ----- 0000000000038000 0fd:00000 libblkid.so.1.1.0
    00007fd5d7ef9000      12 r---- 0000000000038000 0fd:00000 libblkid.so.1.1.0
    00007fd5d7efc000       4 rw--- 000000000003b000 0fd:00000 libblkid.so.1.1.0
    00007fd5d7efd000       4 rw--- 0000000000000000 000:00000   [ anon ]
    00007fd5d7efe000      84 r-x-- 0000000000000000 0fd:00000 libz.so.1.2.7
    00007fd5d7f13000    2044 ----- 0000000000015000 0fd:00000 libz.so.1.2.7
    00007fd5d8112000       4 r---- 0000000000014000 0fd:00000 libz.so.1.2.7
    00007fd5d8113000       4 rw--- 0000000000015000 0fd:00000 libz.so.1.2.7
    00007fd5d8114000     144 r-x-- 0000000000000000 0fd:00000 liblzma.so.5.0.99
    00007fd5d8138000    2044 ----- 0000000000024000 0fd:00000 liblzma.so.5.0.99
    00007fd5d8337000       4 r---- 0000000000023000 0fd:00000 liblzma.so.5.0.99
    00007fd5d8338000       4 rw--- 0000000000024000 0fd:00000 liblzma.so.5.0.99
    00007fd5d8339000      16 r-x-- 0000000000000000 0fd:00000 libcap-ng.so.0.0.0
    00007fd5d833d000    2048 ----- 0000000000004000 0fd:00000 libcap-ng.so.0.0.0
    00007fd5d853d000       4 r---- 0000000000004000 0fd:00000 libcap-ng.so.0.0.0
    00007fd5d853e000       4 rw--- 0000000000005000 0fd:00000 libcap-ng.so.0.0.0
    00007fd5d853f000      16 r-x-- 0000000000000000 0fd:00000 libattr.so.1.1.0
    00007fd5d8543000    2044 ----- 0000000000004000 0fd:00000 libattr.so.1.1.0
    00007fd5d8742000       4 r---- 0000000000003000 0fd:00000 libattr.so.1.1.0
    00007fd5d8743000       4 rw--- 0000000000004000 0fd:00000 libattr.so.1.1.0
    00007fd5d8744000       8 r-x-- 0000000000000000 0fd:00000 libdl-2.17.so
    00007fd5d8746000    2048 ----- 0000000000002000 0fd:00000 libdl-2.17.so
    00007fd5d8946000       4 r---- 0000000000002000 0fd:00000 libdl-2.17.so
    00007fd5d8947000       4 rw--- 0000000000003000 0fd:00000 libdl-2.17.so
    00007fd5d8948000     384 r-x-- 0000000000000000 0fd:00000 libpcre.so.1.2.0
    00007fd5d89a8000    2044 ----- 0000000000060000 0fd:00000 libpcre.so.1.2.0
    00007fd5d8ba7000       4 r---- 000000000005f000 0fd:00000 libpcre.so.1.2.0
    00007fd5d8ba8000       4 rw--- 0000000000060000 0fd:00000 libpcre.so.1.2.0
    00007fd5d8ba9000    1800 r-x-- 0000000000000000 0fd:00000 libc-2.17.so
    00007fd5d8d6b000    2048 ----- 00000000001c2000 0fd:00000 libc-2.17.so
    00007fd5d8f6b000      16 r---- 00000000001c2000 0fd:00000 libc-2.17.so
    00007fd5d8f6f000       8 rw--- 00000000001c6000 0fd:00000 libc-2.17.so
    00007fd5d8f71000      20 rw--- 0000000000000000 000:00000   [ anon ]
    00007fd5d8f76000      92 r-x-- 0000000000000000 0fd:00000 libpthread-2.17.so
    00007fd5d8f8d000    2044 ----- 0000000000017000 0fd:00000 libpthread-2.17.so
    00007fd5d918c000       4 r---- 0000000000016000 0fd:00000 libpthread-2.17.so
    00007fd5d918d000       4 rw--- 0000000000017000 0fd:00000 libpthread-2.17.so
    00007fd5d918e000      16 rw--- 0000000000000000 000:00000   [ anon ]
    00007fd5d9192000      84 r-x-- 0000000000000000 0fd:00000 libgcc_s-4.8.5-20150702.so.1
    00007fd5d91a7000    2044 ----- 0000000000015000 0fd:00000 libgcc_s-4.8.5-20150702.so.1
    00007fd5d93a6000       4 r---- 0000000000014000 0fd:00000 libgcc_s-4.8.5-20150702.so.1
    00007fd5d93a7000       4 rw--- 0000000000015000 0fd:00000 libgcc_s-4.8.5-20150702.so.1
    00007fd5d93a8000      28 r-x-- 0000000000000000 0fd:00000 librt-2.17.so
    00007fd5d93af000    2044 ----- 0000000000007000 0fd:00000 librt-2.17.so
    00007fd5d95ae000       4 r---- 0000000000006000 0fd:00000 librt-2.17.so
    00007fd5d95af000       4 rw--- 0000000000007000 0fd:00000 librt-2.17.so
    00007fd5d95b0000     244 r-x-- 0000000000000000 0fd:00000 libmount.so.1.1.0
    00007fd5d95ed000    2044 ----- 000000000003d000 0fd:00000 libmount.so.1.1.0
    00007fd5d97ec000       4 r---- 000000000003c000 0fd:00000 libmount.so.1.1.0
    00007fd5d97ed000       4 rw--- 000000000003d000 0fd:00000 libmount.so.1.1.0
    00007fd5d97ee000       4 rw--- 0000000000000000 000:00000   [ anon ]
    00007fd5d97ef000      84 r-x-- 0000000000000000 0fd:00000 libkmod.so.2.2.10
    00007fd5d9804000    2044 ----- 0000000000015000 0fd:00000 libkmod.so.2.2.10
    00007fd5d9a03000       4 r---- 0000000000014000 0fd:00000 libkmod.so.2.2.10
    00007fd5d9a04000       4 rw--- 0000000000015000 0fd:00000 libkmod.so.2.2.10
    00007fd5d9a05000     120 r-x-- 0000000000000000 0fd:00000 libaudit.so.1.0.0
    00007fd5d9a23000    2044 ----- 000000000001e000 0fd:00000 libaudit.so.1.0.0
    00007fd5d9c22000       4 r---- 000000000001d000 0fd:00000 libaudit.so.1.0.0
    00007fd5d9c23000       4 rw--- 000000000001e000 0fd:00000 libaudit.so.1.0.0
    00007fd5d9c24000      40 rw--- 0000000000000000 000:00000   [ anon ]
    00007fd5d9c2e000      52 r-x-- 0000000000000000 0fd:00000 libpam.so.0.83.1
    00007fd5d9c3b000    2048 ----- 000000000000d000 0fd:00000 libpam.so.0.83.1
    00007fd5d9e3b000       4 r---- 000000000000d000 0fd:00000 libpam.so.0.83.1
    00007fd5d9e3c000       4 rw--- 000000000000e000 0fd:00000 libpam.so.0.83.1
    00007fd5d9e3d000      16 r-x-- 0000000000000000 0fd:00000 libcap.so.2.22
    00007fd5d9e41000    2044 ----- 0000000000004000 0fd:00000 libcap.so.2.22
    00007fd5da040000       4 r---- 0000000000003000 0fd:00000 libcap.so.2.22
    00007fd5da041000       4 rw--- 0000000000004000 0fd:00000 libcap.so.2.22
    00007fd5da042000     144 r-x-- 0000000000000000 0fd:00000 libselinux.so.1
    00007fd5da066000    2044 ----- 0000000000024000 0fd:00000 libselinux.so.1
    00007fd5da265000       4 r---- 0000000000023000 0fd:00000 libselinux.so.1
    00007fd5da266000       4 rw--- 0000000000024000 0fd:00000 libselinux.so.1
    00007fd5da267000       8 rw--- 0000000000000000 000:00000   [ anon ]
    00007fd5da269000     136 r-x-- 0000000000000000 0fd:00000 ld-2.17.so
    00007fd5da479000      40 rw--- 0000000000000000 000:00000   [ anon ]
    00007fd5da488000       8 rw--- 0000000000000000 000:00000   [ anon ]
    00007fd5da48a000       4 r---- 0000000000021000 0fd:00000 ld-2.17.so
    00007fd5da48b000       4 rw--- 0000000000022000 0fd:00000 ld-2.17.so
    00007fd5da48c000       4 rw--- 0000000000000000 000:00000   [ anon ]
    00007fd5da48d000    1420 r-x-- 0000000000000000 0fd:00000 systemd
    00007fd5da7ef000     140 r---- 0000000000162000 0fd:00000 systemd
    00007fd5da812000       4 rw--- 0000000000185000 0fd:00000 systemd
    00007fd5db8ff000     892 rw--- 0000000000000000 000:00000   [ anon ]
    00007ffea366a000     132 rw--- 0000000000000000 000:00000   [ stack ]
    00007ffea36b3000       8 r-x-- 0000000000000000 000:00000   [ anon ]
    ffffffffff600000       4 r-x-- 0000000000000000 000:00000   [ anon ]
    mapped: 43424K    writeable/private: 1252K    shared: 0K
    

    mapped 表示该进程映射的虚拟地址空间大小,也就是该进程预先分配的虚拟内存大小,即ps出的vsz

    writeable/private 表示进程所占用的私有地址空间大小,也就是该进程实际使用的内存大小

    shared 表示进程和其他进程共享的内存大小

    1. 查看进程1的扩展地址
    [root@master ~]# pmap -x 1
    1:   /usr/lib/systemd/systemd --switched-root --system --deserialize 22
    Address           Kbytes     RSS   Dirty Mode  Mapping
    00007fd5d7abc000      16       8       0 r-x-- libuuid.so.1.3.0
    00007fd5d7ac0000    2044       0       0 ----- libuuid.so.1.3.0
    00007fd5d7cbf000       4       4       4 r---- libuuid.so.1.3.0
    00007fd5d7cc0000       4       4       4 rw--- libuuid.so.1.3.0
    00007fd5d7cc1000     224      36       0 r-x-- libblkid.so.1.1.0
    00007fd5d7cf9000    2048       0       0 ----- libblkid.so.1.1.0
    00007fd5d7ef9000      12      12      12 r---- libblkid.so.1.1.0
    00007fd5d7efc000       4       4       4 rw--- libblkid.so.1.1.0
    00007fd5d7efd000       4       0       0 rw---   [ anon ]
    00007fd5d7efe000      84      12       0 r-x-- libz.so.1.2.7
    00007fd5d7f13000    2044       0       0 ----- libz.so.1.2.7
    00007fd5d8112000       4       4       4 r---- libz.so.1.2.7
    00007fd5d8113000       4       4       4 rw--- libz.so.1.2.7
    00007fd5d8114000     144      16       0 r-x-- liblzma.so.5.0.99
    00007fd5d8138000    2044       0       0 ----- liblzma.so.5.0.99
    00007fd5d8337000       4       4       4 r---- liblzma.so.5.0.99
    00007fd5d8338000       4       4       4 rw--- liblzma.so.5.0.99
    00007fd5d8339000      16       8       0 r-x-- libcap-ng.so.0.0.0
    00007fd5d833d000    2048       0       0 ----- libcap-ng.so.0.0.0
    00007fd5d853d000       4       4       4 r---- libcap-ng.so.0.0.0
    00007fd5d853e000       4       4       4 rw--- libcap-ng.so.0.0.0
    00007fd5d853f000      16       8       0 r-x-- libattr.so.1.1.0
    00007fd5d8543000    2044       0       0 ----- libattr.so.1.1.0
    00007fd5d8742000       4       4       4 r---- libattr.so.1.1.0
    00007fd5d8743000       4       4       4 rw--- libattr.so.1.1.0
    00007fd5d8744000       8       8       0 r-x-- libdl-2.17.so
    00007fd5d8746000    2048       0       0 ----- libdl-2.17.so
    00007fd5d8946000       4       4       4 r---- libdl-2.17.so
    00007fd5d8947000       4       4       4 rw--- libdl-2.17.so
    00007fd5d8948000     384       8       0 r-x-- libpcre.so.1.2.0
    00007fd5d89a8000    2044       0       0 ----- libpcre.so.1.2.0
    00007fd5d8ba7000       4       4       4 r---- libpcre.so.1.2.0
    00007fd5d8ba8000       4       4       4 rw--- libpcre.so.1.2.0
    00007fd5d8ba9000    1800     716       0 r-x-- libc-2.17.so
    00007fd5d8d6b000    2048       0       0 ----- libc-2.17.so
    00007fd5d8f6b000      16      16      16 r---- libc-2.17.so
    00007fd5d8f6f000       8       8       8 rw--- libc-2.17.so
    00007fd5d8f71000      20      12      12 rw---   [ anon ]
    00007fd5d8f76000      92      60       0 r-x-- libpthread-2.17.so
    00007fd5d8f8d000    2044       0       0 ----- libpthread-2.17.so
    00007fd5d918c000       4       4       4 r---- libpthread-2.17.so
    00007fd5d918d000       4       4       4 rw--- libpthread-2.17.so
    00007fd5d918e000      16       4       4 rw---   [ anon ]
    00007fd5d9192000      84      12       0 r-x-- libgcc_s-4.8.5-20150702.so.1
    00007fd5d91a7000    2044       0       0 ----- libgcc_s-4.8.5-20150702.so.1
    00007fd5d93a6000       4       4       4 r---- libgcc_s-4.8.5-20150702.so.1
    00007fd5d93a7000       4       4       4 rw--- libgcc_s-4.8.5-20150702.so.1
    00007fd5d93a8000      28      16       0 r-x-- librt-2.17.so
    00007fd5d93af000    2044       0       0 ----- librt-2.17.so
    00007fd5d95ae000       4       4       4 r---- librt-2.17.so
    00007fd5d95af000       4       4       4 rw--- librt-2.17.so
    00007fd5d95b0000     244     112       0 r-x-- libmount.so.1.1.0
    00007fd5d95ed000    2044       0       0 ----- libmount.so.1.1.0
    00007fd5d97ec000       4       4       4 r---- libmount.so.1.1.0
    00007fd5d97ed000       4       4       4 rw--- libmount.so.1.1.0
    00007fd5d97ee000       4       4       4 rw---   [ anon ]
    00007fd5d97ef000      84      68       0 r-x-- libkmod.so.2.2.10
    00007fd5d9804000    2044       0       0 ----- libkmod.so.2.2.10
    00007fd5d9a03000       4       4       4 r---- libkmod.so.2.2.10
    00007fd5d9a04000       4       4       4 rw--- libkmod.so.2.2.10
    00007fd5d9a05000     120      40       0 r-x-- libaudit.so.1.0.0
    00007fd5d9a23000    2044       0       0 ----- libaudit.so.1.0.0
    00007fd5d9c22000       4       4       4 r---- libaudit.so.1.0.0
    00007fd5d9c23000       4       4       4 rw--- libaudit.so.1.0.0
    00007fd5d9c24000      40       4       4 rw---   [ anon ]
    00007fd5d9c2e000      52      12       0 r-x-- libpam.so.0.83.1
    00007fd5d9c3b000    2048       0       0 ----- libpam.so.0.83.1
    00007fd5d9e3b000       4       4       4 r---- libpam.so.0.83.1
    00007fd5d9e3c000       4       4       4 rw--- libpam.so.0.83.1
    00007fd5d9e3d000      16       8       0 r-x-- libcap.so.2.22
    00007fd5d9e41000    2044       0       0 ----- libcap.so.2.22
    00007fd5da040000       4       4       4 r---- libcap.so.2.22
    00007fd5da041000       4       4       4 rw--- libcap.so.2.22
    00007fd5da042000     144      68       0 r-x-- libselinux.so.1
    00007fd5da066000    2044       0       0 ----- libselinux.so.1
    00007fd5da265000       4       4       4 r---- libselinux.so.1
    00007fd5da266000       4       4       4 rw--- libselinux.so.1
    00007fd5da267000       8       8       8 rw---   [ anon ]
    00007fd5da269000     136     112       0 r-x-- ld-2.17.so
    00007fd5da479000      40      40      40 rw---   [ anon ]
    00007fd5da488000       8       8       8 rw---   [ anon ]
    00007fd5da48a000       4       4       4 r---- ld-2.17.so
    00007fd5da48b000       4       4       4 rw--- ld-2.17.so
    00007fd5da48c000       4       4       4 rw---   [ anon ]
    00007fd5da48d000    1420    1196       0 r-x-- systemd
    00007fd5da7ef000     140     132     132 r---- systemd
    00007fd5da812000       4       4       4 rw--- systemd
    00007fd5db8ff000     892     844     844 rw---   [ anon ]
    00007ffea366a000     132      52      52 rw---   [ stack ]
    00007ffea36b3000       8       4       0 r-x--   [ anon ]
    ffffffffff600000       4       0       0 r-x--   [ anon ]
    ---------------- ------- ------- -------
    total kB           43424    3820    1292
    
    展开全文
  • pmap命令使用

    千次阅读 2020-09-03 16:49:55
    pmap 查看进程的内存映像信息 pmap命令用于报告进程的内存映射关系 当程序正在运行时,使用pmap pid可以查看进程的内存映射信息

    pmap 查看进程的内存映像信息

    pmap命令用于报告进程的内存映射关系

    当程序正在运行时,使用pmap pid可以查看进程的内存映射信息

    在这里插入图片描述

    展开全文
  • pmap报告进程的内存映射关系补充说明pmap命令 用于报告进程的内存映射关系,是Linux调试及运维一个很好的工具。语法pmap(选项)(参数)选项-x:显示扩展格式;-d:显示设备格式;-q:不显示头尾行;-V:显示指定版本。...
  • 使用Linux系统必备的技能之...今天我们来看进程管理命令中的pmap命令pmap命令用于报告进程的内存映射关系,是Linux调试及运维一个很好的工具。语法pmap(选项)(参数)选项-x:显示扩展格式;-d:显示设备格式;-q:...
  • pmap - report memory map of a process(查看进程的内存映像信息) 格式 pmap [ -x | -d ] [ -q ] pids... pmap -V 选项含义 -x extended Show the extended format. 显示扩展格式 -d device Show the device ...
  • linux下/proc/pid/maps和pmap命令详解

    千次阅读 2021-01-01 17:26:17
    1.创建pmap.c文件: vi pmap.c 2.输入如下内容: #inculde <stdio.h> int main() { char *str; str = (char *) malloc(15); while(1) { ; } return 0; } 3.编译pmap.c文件: gcc pmap.c -o pmap 4....
  • pmap 命令

    2019-09-21 14:10:06
    NAME ... pmap - report memory map of a process SYNOPSIS pmap [ -x | -d ] [ -q ] pids... pmap -V 常用参数: -x 显示扩展格式 -d 显示设备格式 -q 不显示header/footer行 -V 显示版...
  • 轉自: http://blog.csdn.net/u013982161/article/details/52654256名稱:pmap - report memory map of a process(查看進程的內存映像信息)用法pmap [ -x | -d ] [ -q ] pids...pmap -V選項含義-x extended Show the ...
  • pmap命令用于报告进程的内存映射关系,是Linux操作系统调试及运维一个很好的工具。语法pmap(选项)(参数)选项-x:显示扩展格式;-d:显示设备格式;-q:不显示头尾行;-V:显示指定版本。参数进程号:指定需要显示...
  • pmap命令用于报告进程的内存映射关系,是Linux调试及运维一个很好的工具。语法pmap(选项)(参数)选项-x:显示扩展格式;-d:显示设备格式;-q:不显示头尾行;-V:显示指定版本。参数进程号:指定需要显示内存映射...
  • linux之pmap命令简介

    2021-05-13 06:29:13
    pmaplddstace要熟悉的几个调试命令!这次先看下pmap观察到系统中的指定进程的地址空间分布情况显示一个目标文件或者链接库文件中的目标文件的各个段的大小。该文件从/proc//maps中获得数据。命令格式:pmap范例:...
  • Linux性能测试 pmap命令

    千次阅读 2016-08-22 20:23:41
     pmap - report memory map of a process(查看进程的内存映像信息) 用法  pmap [ -x | -d ] [ -q ] pids...  pmap -V 选项含义  -x extended Show the extended format. 显示扩展格式  -d
  • Linux pmap命令

    2021-05-13 06:27:42
    Linux 命令大全Linux pmap命令用于报告进程的内存映射关系,是Linux调试及运维一个很好的工具。语法pmap(选项)(参数)选项-x:显示扩展格式;-d:显示设备格式;-q:不显示头尾行;-V:显示指定版本。参数进程号:...
  • pmap命令功能:用于查看进程的地址空间,如:显示指定进程的起始地址、虚拟内存的大小、进程的访问地址空间的权限,及内存映射文件等pmap命令的语法格式:pmap [参数] [进程ID]-----常用参数说明-------x:增加一个标题...
  • pmap命令用于显示一个或多个进程的内存状态,下面通过本文给大家分享Linux性能测试 pmap命令详解,需要的朋友参考下吧名称:pmap - report memory map of a process(查看进程的内存映像信息)用法pmap [ -x | -d ] [ -...
  • pmap提供了进程的内存映射,pmap命令用于显示一个或多个进程的内存状态。其报告进程的地址空间和内存状态信息。Pmap实际上是一个Sun OS上的命令,linux仅支持其有限的功能。但是它还是对查看完整的进程地址空间很有...
  • linux之pmap命令

    2018-11-07 22:10:35
    linux之pmap命令
  • pmap - report memory map of a process(查看进程的内存映像信息) 用法 pmap [ -x | -d ] [ -q ] pids... pmap -V 选项含义 -x extended Show the extended format. 显示扩展格式 -ddevice Show the ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,948
精华内容 2,779
关键字:

pmap命令

友情链接: 8358384.rar