Linux Pmap 命令:查看進(jìn)程用了多少內(nèi)存
Pmap 提供了進(jìn)程的內(nèi)存映射,pmap命令用于顯示一個(gè)或多個(gè)進(jìn)程的內(nèi)存狀態(tài)。其報(bào)告進(jìn)程的地址空間和內(nèi)存狀態(tài)信息。Pmap實(shí)際上是一個(gè)Sun OS上的命令,linux僅支持其有限的功能。但是它還是對(duì)查看完整的進(jìn)程地址空間很有幫助。我們需要PID或者運(yùn)行的進(jìn)程的***進(jìn)程ID來(lái)查看進(jìn)程內(nèi)存狀態(tài),我們可以通過(guò)/proc或者常規(guī)命令比如top或ps得到它。
語(yǔ)法或用法
#pmap PID 或者 #pmap [options] PID
在輸出中它顯示全部的地址,kbytes,mode還有mapping。
選項(xiàng)
- -x extended顯示擴(kuò)展格式
- -d device顯示設(shè)備格式
- -q quiet不顯示header/footer行
- -V 顯示版本信息
單一進(jìn)程內(nèi)存狀態(tài)
- [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
多進(jìn)程內(nèi)存狀態(tài)
我們可以檢查多進(jìn)程內(nèi)存通過(guò)插入多個(gè)PID。加入多個(gè)PID中間使用空格分隔。
pmap 1013 1217 1118
擴(kuò)展進(jìn)程內(nèi)存
- [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 - - -
這里的Address,Kbyte,Dirty,RSS,mode還有mapping的說(shuō)明如下
擴(kuò)展和設(shè)備格式區(qū)域
- Address: 內(nèi)存開(kāi)始地址
- Kbytes: 占用內(nèi)存的字節(jié)數(shù)(KB)
- RSS: 保留內(nèi)存的字節(jié)數(shù)(KB)
- Dirty: 臟頁(yè)的字節(jié)數(shù)(包括共享和私有的)(KB)
- Mode: 內(nèi)存的權(quán)限:read、write、execute、shared、private (寫(xiě)時(shí)復(fù)制)
- Mapping: 占用內(nèi)存的文件、或[anon](分配的內(nèi)存)、或[stack](堆棧)
- Offset: 文件偏移
- Device: 設(shè)備名 (major:minor)