Linux性能测试 pmap命令详解
这里有新鲜出炉的Linux常用命令,程序狗速度看过来!
Linux
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。
pmap命令用于显示一个或多个进程的内存状态,下面通过本文给大家分享Linux性能测试 pmap命令详解,需要的朋友参考下吧
名称:
pmap-report memory map of a process(查看进程的内存映像信息)
用法
pmap[-x|-d][-q]pids...
pmap-V
选项含义
-x extendedShowthe extended format.显示扩展格式
-d deviceShowthe device format.显示设备格式
-q quietDonotdisplay some header/footer lines.不显示头尾行
-V show versionDisplaysversion of program.显示版本
扩展格式和设备格式域:
Address:start address of map映像起始地址
Kbytes:size of mapinkilobytes映像大小
RSS:residentsetsizeinkilobytes驻留集大小
Dirty:dirty pages(both sharedandprivate)inkilobytes脏页大小
Mode:permissions on map映像权限:r=read,w=write,x=execute,s=shared,p=private(copy on write)
Mapping:file backing the map,or'[ anon ]'forallocated memory,or'[ stack ]'forthe program stack.映像支持文件,[anon]为已分配内存[stack]为程序堆栈
Offset:offsetintothe file文件偏移
Device:device name(major:minor)设备名
举例:
查看进程1的设备格式
[root@C44~]#pmap-d1
1:init[5]
AddressKbytesModeOffsetDeviceMapping
0093400088r-x--0000000000000000008:00005ld-2.3.4.so
0094a0004r----0000000000015000008:00005ld-2.3.4.so
0094b0004rw---0000000000016000008:00005ld-2.3.4.so
0094e0001188r-x--0000000000000000008:00005libc-2.3.4.so
00a770008r----0000000000129000008:00005libc-2.3.4.so
00a790008rw---000000000012b000008:00005libc-2.3.4.so
00a7b0008rw---0000000000a7b000000:00000[anon]
00a8500052r-x--0000000000000000008:00005libsepol.so.1
00a920004rw---000000000000c000008:00005libsepol.so.1
00a9300032rw---0000000000a93000000:00000[anon]
00d9d00052r-x--0000000000000000008:00005libselinux.so.1
00daa0004rw---000000000000d000008:00005libselinux.so.1
0804800028r-x--0000000000000000008:00005init
0804f0004rw---0000000000007000008:00005init
084e1000132rw---00000000084e1000000:00000[anon]
b7f5d0008rw---00000000b7f5d000000:00000[anon]
bffee00072rw---00000000bffee000000:00000[stack]
ffffe0004-----0000000000000000000:00000[anon]
mapped:1700Kwriteable/private:276Kshared:0K
[root@C44~]#
最后一行的值
mapped 表示该进程映射的虚拟地址空间大小,也就是该进程预先分配的虚拟内存大小,即ps出的vsz
writeable/private 表示进程所占用的私有地址空间大小,也就是该进程实际使用的内存大小
shared 表示进程和其他进程共享的内存大小
查看进程1的设备格式,不显示头尾行
[root@C44~]#pmap-d-q1
1:init[5]
0093400088r-x--0000000000000000008:00005ld-2.3.4.so
0094a0004r----0000000000015000008:00005ld-2.3.4.so
0094b0004rw---0000000000016000008:00005ld-2.3.4.so
0094e0001188r-x--0000000000000000008:00005libc-2.3.4.so
00a770008r----0000000000129000008:00005libc-2.3.4.so
00a790008rw---000000000012b000008:00005libc-2.3.4.so
00a7b0008rw---0000000000a7b000000:00000[anon]
00a8500052r-x--0000000000000000008:00005libsepol.so.1
00a920004rw---000000000000c000008:00005libsepol.so.1
00a9300032rw---0000000000a93000000:00000[anon]
00d9d00052r-x--0000000000000000008:00005libselinux.so.1
00daa0004rw---000000000000d000008:00005libselinux.so.1
0804800028r-x--0000000000000000008:00005init
0804f0004rw---0000000000007000008:00005init
084e1000132rw---00000000084e1000000:00000[anon]
b7f5d0008rw---00000000b7f5d000000:00000[anon]
bffee00072rw---00000000bffee000000:00000[stack]
ffffe0004-----0000000000000000000:00000[anon]
[root@C44~]#
查看进程1的扩展格式
[root@C44~]#pmap-x1
1:init[5]
AddressKbytesRSSAnonLockedModeMapping
0093400088---r-x--ld-2.3.4.so
0094a0004---r----ld-2.3.4.so
0094b0004---rw---ld-2.3.4.so
0094e0001188---r-x--libc-2.3.4.so
00a770008---r----libc-2.3.4.so
00a790008---rw---libc-2.3.4.so
00a7b0008---rw---[anon]
00a8500052---r-x--libsepol.so.1
00a920004---rw---libsepol.so.1
00a9300032---rw---[anon]
00d9d00052---r-x--libselinux.so.1
00daa0004---rw---libselinux.so.1
0804800028---r-x--init
0804f0004---rw---init
084e1000132---rw---[anon]
b7f5d0008---rw---[anon]
bffee00072---rw---[stack]
ffffe0004--------[anon]
------------------------------------
total kB1700---
[root@C44~]#
循环显示进程3066的设备格式的最后1行,间隔2秒,
[root@C44~]#whiletrue;dopmap-d3066|tail-1;sleep2;done
mapped:5412Kwriteable/private:2028Kshared:0K
mapped:5412Kwriteable/private:2028Kshared:0K
mapped:5412Kwriteable/private:2028Kshared:0K
mapped:5412Kwriteable/private:2028Kshared:0K
mapped:5412Kwriteable/private:2028Kshared:0K
mapped:5412Kwriteable/private:2028Kshared:0K
mapped:5412Kwriteable/private:2028Kshared:0K
mapped:5412Kwriteable/private:2028Kshared:0K
mapped:5412Kwriteable/private:2028Kshared:0K
mapped:5412Kwriteable/private:2028Kshared:0K
mapped:5412Kwriteable/private:2028Kshared:0K
mapped:5412Kwriteable/private:2028Kshared:0K
mapped:5412Kwriteable/private:2028Kshared:0K
总结
以上所述是小编给大家介绍的Linux性能测试 pmap命令详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对PHPERZ网站的支持!
来源: http://www.phperz.com/article/17/1102/352005.html