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

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

Pmap 提供了进程的内存映射,pmap命令用于显示一个或多个进程的内存状态。其报告进程的地址空间和内存状态信息。

作者:linux 来源:Linux中国| 2013-11-06 15:01

开发者大赛路演 | 12月16日,技术创新,北京不见不散


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

语法或用法

#pmap PID 或者 #pmap [options] PID

pmap -x ${pid} | sort -k 3 -nr 

在输出中它显示全部的地址,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中间使用空格分隔。

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:  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)  设备名

via: http://linoxide.com/linux-command/pmap-command/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值