linux内存分析命令,Linux進程內存分析pmap命令
轉自: http://blog.csdn.net/u013982161/article/details/52654256
名稱:
pmap - report memory map of a process(查看進程的內存映像信息)
用法
pmap [ -x | -d ] [ -q ] pids...
pmap -V
選項含義
-x?? extended?????? Show the extended format. 顯示擴展格式
-d??device???????? Show the deviceformat.?? 顯示設備格式
-q?? quiet????????? Do not display some header/footerlines. 不顯示頭尾行
-V?? show version?? Displays version of program. 顯示版本
擴展格式和設備格式域:
Address:? start address ofmap? 映像起始地址
Kbytes:?size of map in kilobytes? 映像大小
RSS:? resident set size inkilobytes? 駐留集大小
Dirty:? dirty pages (both sharedand 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)? 設備名
舉例:
查看進程1的設備格式
[root@C44 ~]#? pmap -d 1
1:??init [5]
Address??Kbytes Mode? Offset?????????? Device??? Mapping
00934000????? 88 r-x-- 0000000000000000 008:00005ld-2.3.4.so
0094a000?????? 4 r---- 0000000000015000 008:00005ld-2.3.4.so
0094b000?????? 4 rw--- 0000000000016000 008:00005ld-2.3.4.so
0094e000???1188 r-x-- 0000000000000000 008:00005 libc-2.3.4.so
00a77000?????? 8 r---- 0000000000129000 008:00005libc-2.3.4.so
00a79000?????? 8 rw--- 000000000012b000 008:00005libc-2.3.4.so
00a7b000?????? 8 rw--- 0000000000a7b000 000:00000?? [ anon ]
00a85000????? 52 r-x-- 0000000000000000 008:00005libsepol.so.1
00a92000?????? 4 rw--- 000000000000c000 008:00005libsepol.so.1
00a93000????? 32 rw--- 0000000000a93000 000:00000?? [ anon ]
00d9d000????? 52 r-x-- 0000000000000000 008:00005libselinux.so.1
00daa000?????? 4 rw--- 000000000000d000 008:00005libselinux.so.1
08048000????? 28 r-x-- 0000000000000000 008:00005 init
0804f000?????? 4 rw--- 0000000000007000 008:00005 init
084e1000????132 rw--- 00000000084e1000 000:00000??[ anon ]
b7f5d000?????? 8 rw--- 00000000b7f5d000 000:00000?? [ anon ]
bffee000????? 72 rw--- 00000000bffee000 000:00000?? [ stack ]
ffffe000?????? 4 ----- 0000000000000000 000:00000?? [ anon ]
mapped: 1700K??? writeable/private: 276K??? shared: 0K
[root@C44 ~]#
最后一行的值
mapped 表示該進程映射的虛擬地址空間大小,也就是該進程預先分配的虛擬內存大小,即ps出的vsz
writeable/private ?表示進程所占用的私有地址空間大小,也就是該進程實際使用的內存大小
shared 表示進程和其他進程共享的內存大小
查看進程1的設備格式,不顯示頭尾行
[root@C44 ~]#? pmap -d -q 1
1:??init [5]
00934000????? 88 r-x-- 0000000000000000 008:00005ld-2.3.4.so
0094a000?????? 4 r---- 0000000000015000 008:00005ld-2.3.4.so
0094b000?????? 4 rw--- 0000000000016000 008:00005ld-2.3.4.so
0094e000???1188 r-x-- 0000000000000000 008:00005 libc-2.3.4.so
00a77000?????? 8 r---- 0000000000129000 008:00005libc-2.3.4.so
00a79000?????? 8 rw--- 000000000012b000 008:00005libc-2.3.4.so
00a7b000?????? 8 rw--- 0000000000a7b000 000:00000?? [ anon ]
00a85000????? 52 r-x-- 0000000000000000 008:00005libsepol.so.1
00a92000?????? 4 rw--- 000000000000c000 008:00005libsepol.so.1
00a93000????? 32 rw--- 0000000000a93000 000:00000?? [ anon ]
00d9d000????? 52 r-x-- 0000000000000000 008:00005libselinux.so.1
00daa000?????? 4 rw--- 000000000000d000 008:00005libselinux.so.1
08048000????? 28 r-x-- 0000000000000000 008:00005 init
0804f000??????4 rw--- 0000000000007000008:00005 init
084e1000????132 rw--- 00000000084e1000 000:00000??[ anon ]
b7f5d000?????? 8 rw--- 00000000b7f5d000 000:00000?? [ anon ]
bffee000????? 72 rw--- 00000000bffee000 000:00000?? [ stack ]
ffffe000?????? 4 ----- 0000000000000000 000:00000?? [ anon ]
[root@C44 ~]#
查看進程1的擴展格式
[root@C44 ~]#? pmap -x 1
1:??init [5]
Address??Kbytes???? RSS??? Anon?Locked Mode?? Mapping
00934000????? 88??????-?????? -?????? - r-x--?ld-2.3.4.so
0094a000?????? 4??????-?????? -?????? - r----?ld-2.3.4.so
0094b000?????? 4??????-?????? -?????? - rw---?ld-2.3.4.so
0094e000???1188?????? -?????? -??????- r-x--? libc-2.3.4.so
00a77000?????? 8??????-?????? -?????? - r----?libc-2.3.4.so
00a79000?????? 8??????-?????? -?????? - rw---?libc-2.3.4.so
00a7b000?????? 8??????-?????? -?????? - rw---??? [ anon ]
00a85000????? 52??????-?????? -?????? - r-x--?libsepol.so.1
00a92000?????? 4??????-?????? -?????? - rw---?libsepol.so.1
00a93000?????32?????? -??????-?????? - rw---??? [ anon ]
00d9d000????? 52??????-?????? -?????? - r-x--?libselinux.so.1
00daa000?????? 4??????-?????? -?????? - rw---?libselinux.so.1
08048000????? 28??????-?????? -?????? - r-x--?init
0804f000?????? 4??????-?? ????-??????- rw---? init
084e1000????132?????? -?????? -??????- rw---??? [ anon ]
b7f5d000?????? 8??????-?????? -?????? - rw---??? [ anon ]
bffee000????? 72??????-?????? -?????? - rw---??? [ stack ]
ffffe000?????? 4??????-?????? -?????? - -----??? [ anon ]
-------- ------- ------- ------- -------
total kB???1700?????? -?????? -??????-
[root@C44 ~]#
循環顯示進程3066的設備格式的最后1行,間隔2秒,
[root@C44 ~]#? while true; do pmap -d? 3066 | tail -1; sleep 2; done
mapped: 5412K??? writeable/private: 2028K??? shared: 0K
mapped: 5412K??? writeable/private: 2028K??? shared: 0K
mapped: 5412K??? writeable/private: 2028K??? shared: 0K
mapped: 5412K??? writeable/private: 2028K??? shared: 0K
mapped: 5412K??? writeable/private: 2028K??? shared: 0K
mapped: 5412K??? writeable/private: 2028K??? shared: 0K
mapped: 5412K??? writeable/private: 2028K??? shared: 0K
mapped: 5412K??? writeable/private: 2028K??? shared: 0K
mapped: 5412K??? writeable/private: 2028K??? shared: 0K
mapped: 5412K??? writeable/private: 2028K??? shared: 0K
mapped: 5412K??? writeable/private: 2028K??? shared: 0K
mapped: 5412K??? writeable/private: 2028K??? shared: 0K
mapped: 5412K??? writeable/private: 2028K??? shared: 0K
總結
以上是生活随笔為你收集整理的linux内存分析命令,Linux進程內存分析pmap命令的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 4g手机2g流量能用多久
- 下一篇: 模拟山羊怎么解锁欢呼羊(MuMu模拟器官