2013-11-03 15:36:59 +08:00
|
|
|
|
Linux Pmap 命令 - 查看进程用了多少内存
|
2013-11-01 11:07:41 +08:00
|
|
|
|
================================================================================
|
2013-11-03 15:36:59 +08:00
|
|
|
|
Pmap 提供进程的内存映射,pmap命令显示一个或多个进程的内存状态。Pmap报告进程地址空间和内存状态信息。Pmap实际上是一个Sun OS命令,linux仅支持有限的功能。但是它还是对查看完整的进程地址空间很有帮助。检查[进程内存状态][1]我们需要PID或者运行的进程的唯一进程ID,我们可以在/proc或者常规命令比如top或ps得到它.
|
2013-11-01 11:07:41 +08:00
|
|
|
|
|
2013-11-03 15:36:59 +08:00
|
|
|
|
### 语法或用法 ###
|
2013-11-01 11:07:41 +08:00
|
|
|
|
|
|
|
|
|
#pmap PID
|
|
|
|
|
|
2013-11-03 15:36:59 +08:00
|
|
|
|
或者
|
2013-11-01 11:07:41 +08:00
|
|
|
|
|
|
|
|
|
#pmap [options] PID
|
|
|
|
|
|
2013-11-03 15:36:59 +08:00
|
|
|
|
在输出中它显示全部的地址,kbytes,mode还有mapping。
|
2013-11-01 11:07:41 +08:00
|
|
|
|
|
2013-11-03 15:36:59 +08:00
|
|
|
|
### 选项 ###
|
2013-11-01 11:07:41 +08:00
|
|
|
|
|
2013-11-03 15:36:59 +08:00
|
|
|
|
-x extended显示扩展格式
|
|
|
|
|
-d device显示设备格式
|
|
|
|
|
-q quiet不显示header/footer行
|
|
|
|
|
-V 显示版本信息
|
2013-11-01 11:07:41 +08:00
|
|
|
|
|
2013-11-03 15:36:59 +08:00
|
|
|
|
### 单一进程内存状态 ###
|
2013-11-01 11:07:41 +08:00
|
|
|
|
|
|
|
|
|
[root@info ~]# pmap 1013
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1013: /usr/sbin/sshd
|
|
|
|
|
00110000 1480K r-x– /usr/lib/libcrypto.so.1.0.0
|
|
|
|
|
00282000 80K rw— /usr/lib/libcrypto.so.1.0.0
|
|
|
|
|
00296000 12K rw— [ anon ]
|
|
|
|
|
00299000 36K r-x– /lib/libkrb5support.so.0.1
|
|
|
|
|
002a2000 4K rw— /lib/libkrb5support.so.0.1
|
|
|
|
|
002a3000 16K r-x– /lib/libplc4.so
|
|
|
|
|
002a7000 4K rw— /lib/libplc4.so
|
|
|
|
|
002ab000 88K r-x– /lib/libaudit.so.1.0.0
|
|
|
|
|
002c1000 4K r—- /lib/libaudit.so.1.0.0
|
|
|
|
|
002c2000 4K rw— /lib/libaudit.so.1.0.0
|
|
|
|
|
002c3000 216K r-x– /lib/libgssapi_krb5.so.2.2
|
|
|
|
|
002f9000 4K rw— /lib/libgssapi_krb5.so.2.2
|
|
|
|
|
002fa000 808K r-x– /lib/libkrb5.so.3.3
|
|
|
|
|
003c4000 24K rw— /lib/libkrb5.so.3.3
|
|
|
|
|
003ca000 152K r-x– /lib/libk5crypto.so.3.1
|
|
|
|
|
003f0000 4K rw— /lib/libk5crypto.so.3.1
|
|
|
|
|
003f1000 92K r-x– /usr/lib/libnssutil3.so
|
|
|
|
|
00738000 4K r—- /lib/libresolv-2.12.so
|
|
|
|
|
00739000 4K rw— /lib/libresolv-2.12.so
|
|
|
|
|
0073a000 8K rw— [ anon ]
|
|
|
|
|
00825000 120K r-x– /lib/ld-2.12.so
|
|
|
|
|
00843000 4K r—- /lib/ld-2.12.so
|
|
|
|
|
00844000 4K rw— /lib/ld-2.12.so
|
|
|
|
|
0090d000 32K r-x– /lib/libwrap.so.0.7.6
|
|
|
|
|
00915000 4K rw— /lib/libwrap.so.0.7.6
|
|
|
|
|
00948000 484K r-x– /usr/sbin/sshd
|
|
|
|
|
009c1000 8K rw— /usr/sbin/sshd
|
|
|
|
|
009c3000 20K rw— [ anon ]
|
|
|
|
|
009e0000 92K r-x– /lib/libpthread-2.12.so
|
|
|
|
|
009f7000 4K r—- /lib/libpthread-2.12.so
|
|
|
|
|
|
|
|
|
|
total 8232K
|
|
|
|
|
|
2013-11-03 15:36:59 +08:00
|
|
|
|
### 多进程内存状态 ###
|
2013-11-01 11:07:41 +08:00
|
|
|
|
|
2013-11-03 15:36:59 +08:00
|
|
|
|
我们可以检查多进程内存通过插入多个PID。加入多个PID中间需要空格。
|
2013-11-01 11:07:41 +08:00
|
|
|
|
|
|
|
|
|
pmap 1013 1217 1118
|
|
|
|
|
|
2013-11-03 15:36:59 +08:00
|
|
|
|
### 扩展进程内存 ###
|
2013-11-01 11:07:41 +08:00
|
|
|
|
|
|
|
|
|
[root@info ~]# pmap -x 1013
|
|
|
|
|
1013: /usr/sbin/sshd
|
|
|
|
|
Address Kbytes RSS Dirty Mode Mapping
|
|
|
|
|
00110000 1480 92 0 r-x– libcrypto.so.1.0.0
|
|
|
|
|
00282000 80 80 80 rw— libcrypto.so.1.0.0
|
|
|
|
|
00296000 12 8 4 rw— [ anon ]
|
|
|
|
|
00299000 36 0 0 r-x– libkrb5support.so.0.1
|
|
|
|
|
002a2000 4 4 4 rw— libkrb5support.so.0.1
|
|
|
|
|
002a3000 16 0 0 r-x– libplc4.so
|
|
|
|
|
002a7000 4 4 4 rw— libplc4.so
|
|
|
|
|
002ab000 88 4 0 r-x– libaudit.so.1.0.0
|
|
|
|
|
002c1000 4 4 4 r—- libaudit.so.1.0.0
|
|
|
|
|
002c2000 4 4 4 rw— libaudit.so.1.0.0
|
|
|
|
|
002c3000 216 4 0 r-x– libgssapi_krb5.so.2.2
|
|
|
|
|
002f9000 4 4 4 rw— libgssapi_krb5.so.2.2
|
|
|
|
|
002fa000 808 4 0 r-x– libkrb5.so.3.3
|
|
|
|
|
003c4000 24 24 24 rw— libkrb5.so.3.3
|
|
|
|
|
003ca000 152 4 0 r-x– libk5crypto.so.3.1
|
|
|
|
|
003f0000 4 4 4 rw— libk5crypto.so.3.1
|
|
|
|
|
003f1000 92 0 0 r-x– libnssutil3.so
|
|
|
|
|
00408000 12 12 12 rw— libnssutil3.so
|
|
|
|
|
0040b000 12 0 0 r-x– libplds4.so
|
|
|
|
|
0040e000 4 4 4 rw— libplds4.so
|
|
|
|
|
|
|
|
|
|
——– ——- ——- ——- ——-
|
|
|
|
|
total kB 8232 – – -
|
|
|
|
|
|
2013-11-03 15:36:59 +08:00
|
|
|
|
这里的Address,Kbyte,Dirty,RSS,mode还有mapping包含在下面
|
2013-11-01 11:07:41 +08:00
|
|
|
|
|
2013-11-03 15:36:59 +08:00
|
|
|
|
### 扩展和设备格式区域 ###
|
2013-11-01 11:07:41 +08:00
|
|
|
|
|
|
|
|
|
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: read, write, execute, shared, private (copy on write)
|
|
|
|
|
Mapping: file backing the map, or ‘[ anon ]‘ for allocated memory, or ‘[ stack ]‘ for the program stack
|
|
|
|
|
Offset: offset into the file
|
|
|
|
|
Device: device name (major:minor)
|
|
|
|
|
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
via: http://linoxide.com/linux-command/pmap-command/
|
|
|
|
|
|
2013-11-03 15:36:59 +08:00
|
|
|
|
译者:[flsf](https://github.com/flsf) 校对:[校对者ID](https://github.com/校对者ID)
|
2013-11-01 11:07:41 +08:00
|
|
|
|
|
|
|
|
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
|
|
|
|
|
2013-11-01 14:05:21 +08:00
|
|
|
|
[1]:http://www.linoxide.com/linux-shell-script/linux-memory-usage-program/
|