Pmap 提供了进程的内存映射,pmap命令用于显示一个或多个进程的内存状态。其报告进程的地址空间和内存状态信息。Pmap实际上是一个Sun OS上的命令,linux仅支持其有限的功能。但是它还是对查看完整的进程地址空间很有帮助。我们需要PID或者运行的进程的唯一进程ID来查看进程内存状态,我们可以通过/proc或者常规命令比如top或ps得到它。

语法或用法

#pmap PID 或者 #pmap [options] PID

在输出中它显示全部的地址,kbytes,mode还有mapping。

选项

  • -x extended显示扩展格式
  • -d device显示设备格式
  • -q quiet不显示header/footer行
  • -V 显示版本信息

单一进程内存状态

  1. [root@info ~]# pmap 1013
  2. 1013: /usr/sbin/sshd
  3. 00110000 1480K r-x- /usr/lib/libcrypto.so.1.0.0
  4. 00282000 80K rw-- /usr/lib/libcrypto.so.1.0.0
  5. 00296000 12K rw-- [ anon ]
  6. 00299000 36K r-x- /lib/libkrb5support.so.0.1
  7. 002a2000 4K rw-- /lib/libkrb5support.so.0.1
  8. 002a3000 16K r-x- /lib/libplc4.so
  9. 002a7000 4K rw-- /lib/libplc4.so
  10. 002ab000 88K r-x- /lib/libaudit.so.1.0.0
  11. 002c1000 4K r-- /lib/libaudit.so.1.0.0
  12. 002c2000 4K rw-- /lib/libaudit.so.1.0.0
  13. 002c3000 216K r-x- /lib/libgssapi_krb5.so.2.2
  14. 002f9000 4K rw-- /lib/libgssapi_krb5.so.2.2
  15. 002fa000 808K r-x- /lib/libkrb5.so.3.3
  16. 003c4000 24K rw-- /lib/libkrb5.so.3.3
  17. 003ca000 152K r-x- /lib/libk5crypto.so.3.1
  18. 003f0000 4K rw-- /lib/libk5crypto.so.3.1
  19. 003f1000 92K r-x- /usr/lib/libnssutil3.so
  20. 00738000 4K r--- /lib/libresolv-2.12.so
  21. 00739000 4K rw-- /lib/libresolv-2.12.so
  22. 0073a000 8K rw-- [ anon ]
  23. 00825000 120K r-x- /lib/ld-2.12.so
  24. 00843000 4K r--- /lib/ld-2.12.so
  25. 00844000 4K rw-- /lib/ld-2.12.so
  26. 0090d000 32K r-x- /lib/libwrap.so.0.7.6
  27. 00915000 4K rw-- /lib/libwrap.so.0.7.6
  28. 00948000 484K r-x- /usr/sbin/sshd
  29. 009c1000 8K rw-- /usr/sbin/sshd
  30. 009c3000 20K rw-- [ anon ]
  31. 009e0000 92K r-x- /lib/libpthread-2.12.so
  32. 009f7000 4K r--- /lib/libpthread-2.12.so
  33. total 8232K

多进程内存状态

我们可以检查多进程内存通过插入多个PID。加入多个PID中间使用空格分隔。

pmap 1013 1217 1118

扩展进程内存

  1. [root@info ~]# pmap -x 1013
  2. 1013: /usr/sbin/sshd
  3. Address Kbytes RSS Dirty Mode Mapping
  4. 00110000 1480 92 0 r-x- libcrypto.so.1.0.0
  5. 00282000 80 80 80 rw-- libcrypto.so.1.0.0
  6. 00296000 12 8 4 rw-- [ anon ]
  7. 00299000 36 0 0 r-x- libkrb5support.so.0.1
  8. 002a2000 4 4 4 rw-- libkrb5support.so.0.1
  9. 002a3000 16 0 0 r-x- libplc4.so
  10. 002a7000 4 4 4 rw-- libplc4.so
  11. 002ab000 88 4 0 r-x- libaudit.so.1.0.0
  12. 002c1000 4 4 4 r--- libaudit.so.1.0.0
  13. 002c2000 4 4 4 rw-- libaudit.so.1.0.0
  14. 002c3000 216 4 0 r-x- libgssapi_krb5.so.2.2
  15. 002f9000 4 4 4 rw-- libgssapi_krb5.so.2.2
  16. 002fa000 808 4 0 r-x- libkrb5.so.3.3
  17. 003c4000 24 24 24 rw-- libkrb5.so.3.3
  18. 003ca000 152 4 0 r-x- libk5crypto.so.3.1
  19. 003f0000 4 4 4 rw-- libk5crypto.so.3.1
  20. 003f1000 92 0 0 r-x- libnssutil3.so
  21. 00408000 12 12 12 rw-- libnssutil3.so
  22. 0040b000 12 0 0 r-x- libplds4.so
  23. 0040e000 4 4 4 rw-- libplds4.so
  24. --- --- --- --- ---
  25. total kB 8232 - - -

这里的Address,Kbyte,Dirty,RSS,mode还有mapping的说明如下

扩展和设备格式区域

  • Address: 内存开始地址
  • Kbytes: 占用内存的字节数(KB)
  • RSS: 保留内存的字节数(KB)
  • Dirty: 脏页的字节数(包括共享和私有的)(KB)
  • Mode: 内存的权限:read、write、execute、shared、private (写时复制)
  • Mapping: 占用内存的文件、或[anon](分配的内存)、或[stack](堆栈)
  • Offset: 文件偏移
  • Device: 设备名 (major:minor)

Linux Pmap 命令:查看进程用了多少内存的更多相关文章

  1. pmap命令 查看进程用了多少内存

    pmap命令   查看进程用了多少内存                                     用法       pmap [ -x | -d ] [ -q ] pids       ...

  2. Linux ps 命令查看进程启动及运行时间

    引言 同事问我怎样看一个进程的启动时间和运行时间,我第一反应当然是说用 ps 命令啦.ps aux或ps -ef不就可以看时间吗? ps aux选项及输出说明 我们来重新复习下ps aux的选项,这是 ...

  3. Linux常用命令 查看进程信息时 copy的-----温故而知新

    1.查进程    ps命令查找与进程相关的PID号:    ps a 显示现行终端机下的所有程序,包括其他用户的程序.    ps -A 显示所有程序.    ps c 列出程序时,显示每个程序真正的 ...

  4. Linux基础命令——查看进程命令

    linux是一个 多进程   多用户的操作系统 ps(显示当前进程的状态) ps -ef  查看当前linux 进程 ps -ef | grep 'mysqld'  过滤mysql的进程 (grep  ...

  5. linux ps命令查看最消耗CPU、内存的进程

    1.CPU占用最多的前10个进程: ps auxw|head -1;ps auxw|sort -rn -k3|head -10 2.内存消耗最多的前10个进程 ps auxw|head -1;ps a ...

  6. linux top命令查看内存及多核CPU的使用讲述【转】

    转载一下top使用后详细的参数,之前做的笔记找不见了,转载一下,作为以后的使用参考: 原文地址:http://blog.csdn.net/linghao00/article/details/80592 ...

  7. top命令查看进程列表

    top命令查看进程列表 top命令是linux下常用的性能分析工具,能实时显示系统中各个进程的资源占用状况.和win的资源管理器类似.top是一个动态显示过程,即可以通过用户按键来不断刷新当前状态,如 ...

  8. linux常用命令 查看文件

    Linux常用命令 查看文件 cat命令 cat命令的用途是连接文件或标准打印输入并打印.这个命令常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示. 命令格式: cat [ ...

  9. Linux基础命令-查看基本硬件信息

    Linux基础命令-查看基本硬件信息 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.查看CPU信息 [root@node101.yinzhengjie.org.cn ~]# l ...

  10. 查看程序是否启动或者关闭--比如查看Tomcat是否开启!直接用ps命令查看进程就行了啊

    1.查看程序是否启动或者关闭--比如查看Tomcat是否开启!直接用ps命令查看进程就行了啊 2.Tomcat服务器和虚拟机的关系,Tomcat启动运行过程要调用系统环境变量的java_home啊,J ...

随机推荐

  1. 【BZOJ 2453|bzoj 2120】 2453: 维护队列 (分块+二分)

    2453: 维护队列 Description 你小时候玩过弹珠吗? 小朋友A有一些弹珠,A喜欢把它们排成队列,从左到右编号为1到N.为了整个队列鲜艳美观,小朋友想知道某一段连续弹珠中,不同颜色的弹珠有 ...

  2. thread dump

    最近在做性能测试,需要对线程堆栈进行分析,在网上收集了一些资料,学习完后,将相关知识整理在一起,输出文章如下. 一.Thread Dump介绍 1.1什么是Thread Dump? Thread Du ...

  3. 初始化D3D设备

    bool initD3D(HWND hWnd) { // 主要目的是获取设备,为调用下面的函数做很多准备. // 比如 获取IDirect3D9 ,获取支持的顶点处理,填充后备缓冲相关参数等. // ...

  4. ajax返回son数据

    JSON 只是一种文本字符串.它被存储在 responseText 属性中 为了读取存储在 responseText 属性中的 JSON 数据,需要根据 JavaScript 的 eval 语句. 函 ...

  5. SQLServer与Oracle的数据同步(触发器trigger)

    说到同步,其实是靠"作业"定时调度存储过程来操作数据,增,删,改,全在里面,结合触发器,游标来实现,关于作业调度,使用了5秒运行一次来实行"秒级作业",这样基本 ...

  6. Emulator control为灰色的情况

    新建了一个虚拟机,然后发现Emulator control为灰色,让eclipse重启下就可以了,然后就可以使用了.

  7. 1494. Monobilliards(栈)

    1494 之前记得数据结构试卷上有这种题 就是判断某一出栈顺序 是不是满足以1.2...n为入栈顺序 a1,a2,a3..an; 对于任意相邻a[i],a[i+1] 如果a[i]>a[i+1]+ ...

  8. poj3692

    首先这道题很容易想到二分图相关(给的很明确了): 但是我们发现,男孩之间都互相认识,女孩之间也互相认识 这样是不能划分点集的 但是男孩之间都互相认识,女孩之间也互相认识,所以男孩和男孩,女孩和女孩之间 ...

  9. poj3月题解

    poj2110 二分答案+bfs判定 poj2112 二分答案+最大流判定(二分答案真乃USACO亲儿子) poj1986 裸的LCA,值得注意的是,树中任意两点的距离可以等于这两点到根的距离减去2* ...

  10. UVa 1572 (拓扑排序) Self-Assembly

    题意: 有n种正放形,每种正方形的数量可视为无限多.已知边与边之间的结合规则,而且正方形可以任意旋转和反转,问这n中正方形是否可以拼成无限大的图案. 分析: 首先因为可以旋转和反转,所以可以保证在拼接 ...