Linux Pmap 命令 - 查看进程用了多少内存

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

语法或用法


  1. #pmap PID

或者


  1. #pmap [options] PID

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

选项

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

单一进程内存状态


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

多进程内存状态

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


  1. 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. --- --- --- --- ---
  26. 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)

 原文发布时间为:2013-11-05

本文来自合作伙伴“Linux中国”

时间: 2024-08-28 01:17:03

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

Linux du命令查看文件夹大小并按降序排列_linux shell

1. df -lh 2. du -s /usr/* | sort -rn 这是按字节排序 3. du -sh /usr/* | sort -rn 这是按兆(M)来排序 4.选出排在前面的10个 du -s /usr/* | sort -rn | head 5.选出排在后面的10个 du -s /usr/* | sort -rn | tail du -h –-max-depth=0 user du -sh –-max-depth=2 | more 总结du常用命令 du -h --max-dept

在Linux系统中查看进程及杀死僵尸进程的方法

  ps 命令 ps 命令就是最根本相应情况下也是相当强大地进程查看命令.运用该命令可以确定有哪些进程正在运行和运行地状态. 进程 是否结束.进程有没有僵死.哪些进程占用了过多地资源等等.总之大部分信息均为可以通过执行该命令得到地. ps 命令及其参数 ps 命令最经常使用地还是用于监控后台进程地工作情况,因为后台进程是不和屏幕键盘这些标准输入/输出设 备进行通信地,所以如果需要检测其情况,便可以运用 ps 命令了. 该命令语法格式如下: ps [选项] -e 显示所有进程,环境变量 -f 全格

Linux netstat命令查看并发连接数的方法_Linux

介绍 并发连接数是指防火墙或代理服务器对其业务信息流的处理能力,是防火墙能够同时处理的点对点连接的最大数目,它反映出防火墙设备对多个连接的访问控制能力和连接状态跟踪能力,这个参数的大小直接影响到防火墙所能支持的最大信息点数. 实现方法 使用以下命令即可分组查看各种连接状态哦: netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' 解释: 返回结果示例: LAST_ACK 5 (正在等待处理的请求数) SYN_RE

c语言中函数(linux命令查看依赖类库),数组(内存存储是连续的内存空间),Linux下查看&a,&a[0],a之间的值,可变数组

1.查看一个c函数依赖的类的方式: gcc t.c -o app 使用ldd app命令查看依赖的类,截图如下: 2.库函数包括:      a.C标准库函数,(c89/c99标准定义的函数接口,由操作系统厂商去实现.)      b.第三方厂商库函数,      c:自定义库函数 3.一个简单的函数的例子: 4.linux中查看上一个程序的放回值得方式是:echo $?   (通过这个返回值可以查看系统是正常结束还是异常结束). 5.int            a[5]           

linux df命令查看硬盘占用情况

1.命令格式: df [选项] [文件] 2.命令功能: 显示指定磁盘文件的可用空间.如果没有文件名被指定,则所有当前被挂载的文件系统的可用空间将被显示.默认情况下,磁盘空间将以 1KB 为单位进行显示,除非环境变量 POSIXLY_CORRECT 被指定,那样将以512字节为单位进行显示3.命令参数: 必要参数: -a 全部文件系统列表 -h 方便阅读方式显示 -H 等于"-h",但是计算式,1K=1000,而不是1K=1024 -i 显示inode信息 -k 区块为1024字节 -

linux系统快速查看进程pid的方法

  一个很简单的命令,pgrep,可以迅速定位包含某个关键字的进程的pid;使用这个命令,再也不用ps aux 以后去对哪个进程的pid了 用法: pgrep -l XXX 说明: -l参数,可以显示出pid及进程名字;不加-l只显示pid,谁知道是什么进程的pid 举例: # pgrep httpd 2092 2094 2096 2098 2106 2108 2109 2111 14705 # pgrep -l httpd 2092 httpd 2094 httpd 2096 httpd 20

linux date命令查看和设置时间详解

  date命令 date命令的功能是显示和设置系统日期和时间. 该命令的一般格式为: date [选项] 显示时间格式(以+开头,后面接格式) date 设置时间格式 命令中各选项的含义分别为: 代码如下: -d datestr, --date datestr 显示由datestr描述的日期 -s datestr, --set datestr 设置datestr 描述的日期 -u, --universal 显示或设置通用时间 时间域 代码如下: % H 小时(00..23) % I 小时(01

Linux下如何查看高CPU占用率线程 LINUX CPU利用率计算

目录(?)[-] proc文件系统 proccpuinfo文件 procstat文件 procpidstat文件                                           procpidtasktidstat文件 系统中有关进程cpu使用率的常用命令 ps 命令 top命令 单核情况下Cpu使用率的计算 基本思想 总的Cpu使用率计算 计算方法 某一进程Cpu使用率的计算 计算方法   实验数据 某一线程Cpu使用率的计算 计算方法   实验数据 多核情况下cpu使用率

Linux查看进程命令和具体操作

ps ax 命令显示一个当前系统进程的列表,该列表中包括其他用户拥有的进程.要显示进程以及它们的所有者,使用 ps aux 命令.该列表是一个静态列表:换一句话说,它是在你启用这项命令时正在运行的进程的快照.如果你需要Linux查看进程一个时刻更新的运行进程列表,使用下面描述的 top 命令. Linux查看进程ps 的输出会很长.要防止它快速从屏幕中滑过,你可以把它管道输出给 less 命令: ps aux | less 你可以使用 Linux查看进程ps 命令和 grep 命令的组合来查看某