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 显示版本信息

wKiom1NEuSuCRpdMAAOwZCD2C8o602.jpg

多进程内存状态

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

pmap 1013 1217 1118

wKioL1NEuUPCYInTAALiEVya1YU413.jpg


扩展和设备格式区域

  • Address: 内存开始地址

  • Kbytes: 占用内存的字节数(KB)

  • RSS: 保留内存的字节数(KB)

  • Dirty: 脏页的字节数(包括共享和私有的)(KB)

  • Mode: 内存的权限:read、write、execute、shared、private (写时复制)

  • Mapping: 占用内存的文件、或[anon](分配的内存)、或[stack](堆栈)

  • Offset: 文件偏移

  • Device: 设备名 (major:minor)