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. Linux Pmap 命令:查看进程用了多少内存

    Pmap 提供了进程的内存映射,pmap命令用于显示一个或多个进程的内存状态.其报告进程的地址空间和内存状态信息.Pmap实际上是一个Sun OS上的命令,linux仅支持其有限的功能.但是它还是对查 ...

  2. 【转】linux之pmap命令!

    原贴:http://tonykorn97.itpub.net/post/6414/249221 linux之pmap命令! ====================================== ...

  3. [转帖]Linux性能测试 pmap命令

    Linux性能测试 pmap命令 https://www.cnblogs.com/txw1958/archive/2012/07/26/linux-pmap.html 名称:       pmap - ...

  4. 常用Linux 服务器命令--各种性能指标命令

    如果你想知道你的服务器正在做干什么,你就需要了解一些基本的命令,一旦你精通了这些命令,那你就是一个专业的 Linux 系统管理员. 监控命令## iostat### iostat命令用来显示存储系统的 ...

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

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

  6. Linux 常用命令大全2

    Linux 常用命令大全 [帮助命令] command —help man command man 2 command 查看第2个帮助文件 man -k keyword 查找含有关键字的帮助 info ...

  7. Linux 常用命令:系统状态篇

    前言 Linux常用命令中,有些命令可以用于查看系统的状态,通过了解系统当前的状态,能够帮助我们更好地维护系统或定位问题.本文就简单介绍一下这些命令. 1. 查看系统运行时间--uptime 有时候我 ...

  8. Linux性能测试 命令大全

    Linux 系统出现问题时,我们不仅需要查看系统日志信息,而且还要使用大量的性能监测工 具来判断究竟是哪一部分(内存.CPU.硬盘……)出了问题.在 Linux 系统中,所有的运行 参数保存在虚拟目录 ...

  9. linux grep命令

    linux grep命令1.作用Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来.grep全称是Global Regular Expressio ...

随机推荐

  1. Unix域套接字简介

    在Linux系统中,有很多进程间通信方式,套接字(Socket)就是其中的一种.但传统的套接字的用法都是基于TCP/IP协议栈的,需要指定IP地址.如果不同主机上的两个进程进行通信,当然这样做没什么问 ...

  2. iOS端JSON转Model链式编程框架SuperKVC使用方法与原理

    背景 在client编程中.字典转模型是一个极为常见的问题,苹果提供了KVC来实现NSDictionary到Model的注入,可是KVC仅仅能进行单层浅注入.且无法处理类型转换.key与属性名不正确应 ...

  3. mysql 查看是否被锁

    SHOW OPEN TABLES FROM huahua

  4. Python UNICODE GBK UTF-8 之间相互转换

    Python 编码格式检测,可以使用 chardet , 例如: import urllib rawdata = urllib.urlopen('http://www.google.cn/').rea ...

  5. node js 调试方法

    1. node-debug tutorial 大家对nodejs调试应该都比较头疼,至少我这个不用IDE写js的人很头疼这个,其实node的生态圈非常好 有非常好的工具和非常潮的开发方式 这里总结了3 ...

  6. application , application pool., W3wp ,httpapplication, domain

    Hosting and Consuming WCF Services https://msdn.microsoft.com/en-us/library/bb332338.aspx http://www ...

  7. gulp的使用 文档

    #gulp ##1 什么是gulp.为什么使用gulp Gulp是一个**构建系统**,它能通过自动执行常见任务,比如编译预处理CSS,压缩JavaScript,来改进网站开发的过程. 将less文件 ...

  8. Mybatis Spring multiple databases Java configuration

    https://stackoverflow.com/questions/18201075/mybatis-spring-multiple-databases-java-configuration ** ...

  9. 将ip地址转换成C段地址的UDF

    将ip地址转换成C段地址的UDF,最重要的是判断IP地址的正则表达式. package cn.cnnic.ops.Study; import java.util.regex.Pattern; impo ...

  10. Servlet/Filter发布后与其他页面的相对路径

    1.Servlet 3个文件 E:\web.workspace\mldndemo\WebContent\ch14\regist.html E:\web.workspace\mldndemo\WebCo ...