[转帖]Linux性能测试 pmap命令
Linux性能测试 pmap命令
https://www.cnblogs.com/txw1958/archive/2012/07/26/linux-pmap.html
名称:
pmap - report memory map of a process(查看进程的内存映像信息)
用法
pmap [ -x | -d ] [ -q ] pids...
pmap -V
选项含义
-x extended Show the extended format. 显示扩展格式
-d device Show the device format. 显示设备格式
-q quiet Do not display some header/footer lines. 不显示头尾行
-V show version Displays version of program. 显示版本
扩展格式和设备格式域:
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) 设备名
举例:
查看进程1的设备格式

[root@C44 ~]# pmap -d 1 1: init [5] Address Kbytes Mode Offset Device Mapping 00934000 88 r-x-- 0000000000000000 008:00005 ld-2.3.4.so 0094a000 4 r---- 0000000000015000 008:00005 ld-2.3.4.so 0094b000 4 rw--- 0000000000016000 008:00005 ld-2.3.4.so 0094e000 1188 r-x-- 0000000000000000 008:00005 libc-2.3.4.so 00a77000 8 r---- 0000000000129000 008:00005 libc-2.3.4.so 00a79000 8 rw--- 000000000012b000 008:00005 libc-2.3.4.so 00a7b000 8 rw--- 0000000000a7b000 000:00000 [ anon ] 00a85000 52 r-x-- 0000000000000000 008:00005 libsepol.so.1 00a92000 4 rw--- 000000000000c000 008:00005 libsepol.so.1 00a93000 32 rw--- 0000000000a93000 000:00000 [ anon ] 00d9d000 52 r-x-- 0000000000000000 008:00005 libselinux.so.1 00daa000 4 rw--- 000000000000d000 008:00005 libselinux.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:00005 ld-2.3.4.so 0094a000 4 r---- 0000000000015000 008:00005 ld-2.3.4.so 0094b000 4 rw--- 0000000000016000 008:00005 ld-2.3.4.so 0094e000 1188 r-x-- 0000000000000000 008:00005 libc-2.3.4.so 00a77000 8 r---- 0000000000129000 008:00005 libc-2.3.4.so 00a79000 8 rw--- 000000000012b000 008:00005 libc-2.3.4.so 00a7b000 8 rw--- 0000000000a7b000 000:00000 [ anon ] 00a85000 52 r-x-- 0000000000000000 008:00005 libsepol.so.1 00a92000 4 rw--- 000000000000c000 008:00005 libsepol.so.1 00a93000 32 rw--- 0000000000a93000 000:00000 [ anon ] 00d9d000 52 r-x-- 0000000000000000 008:00005 libselinux.so.1 00daa000 4 rw--- 000000000000d000 008:00005 libselinux.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 ] [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性能测试 pmap命令的更多相关文章
- Linux性能测试 pmap命令
名称: pmap - report memory map of a process(查看进程的内存映像信息)用法 pmap [ -x | -d ] [ -q ] pids... ...
- 【转】linux之pmap命令!
原贴:http://tonykorn97.itpub.net/post/6414/249221 linux之pmap命令! ====================================== ...
- [转帖]Linux的wget命令详解
Linux的wget命令详解 来源不明 找到的也是转帖的 https://www.cnblogs.com/cindy-cindy/p/6847502.html Linux wget是一个下载文件的工具 ...
- [转帖]Linux:cut命令详解
Linux:cut命令详解 https://www.cnblogs.com/Spiro-K/p/6361646.html cut -f cut -f -d cut -c1- 这三个命令好像最常见, 记 ...
- [转帖]Linux后端执行命令的方法
Linux 后台执行命令的方法 http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=4241330&fromuid=212883 ...
- [转帖]Linux systemd 常用命令
Linux systemd 常用命令 https://www.cnblogs.com/tsdxdx/p/7288490.html systemctl hostnamectl timedatectl l ...
- Linux性能测试分析命令_top
top命令动态展示系统整体资源和各个进程资源占用状况,是Linux下常用的性能分析工具. top命令语法 使用格式:top [-] [d] [b] [H] [p] [q] [c] [C] [S] [s ...
- Linux性能测试分析命令_sar+iostat+vmstat+top
sar主要用于收集并统计系统资源的信息,包括CPU.IO.内存.网卡流量等. vmstat命令主要是对操作系统的虚拟内存.进程.IO读写.CPU活动等整体情况进行统计.但是它不能对某个进程进行深入分析 ...
- Linux性能测试分析命令_vmstat
vmstat命令主要是对操作系统的虚拟内存.进程.IO读写.CPU活动等整体情况进行统计.但是它不能对某个进程进行深入分析. vmstat基本语法 命令使用格式:vmstat [options] [d ...
随机推荐
- javaScript第二篇
事件处理函数 javaScript响应用户操作等都是通过事件处理来触发;其基本形式为 event = "javaScript statement(s);" 事件 = "事 ...
- Mockito 2 让我们校验一些行为
在下面的示例中,我们将会模拟(Mock)一个 List 列表. 这是因为绝大部分的人对列表这个接口比较熟悉(例如 add(), get(), clear() 方法). 在实际情况中,请不要 mock ...
- CodeForces 1197 D Yet Another Subarray Problem
题面 不得不说CF还是很擅长出这种让人第一眼看摸不着头脑然后再想想就发现是个SB题的题的hhh(请自行断句). 设sum[]为前缀和数组,那么区间 [l,r]的价值为 sum[r] - sum[l-1 ...
- C语言中的位域[转]
有些信息在存储时,并不需要占用一个完整的字节,而只需要一个或几个二进制位即可;比如:在存放一个开关量时,只有0和1两种状态,只需要使用一个二进制位即可存储;为了节省存储空间,C语言提供了一种数据结构, ...
- jQuery文档操作之插入操作
append() 语法 父元素.append(子元素) 解释:追加某元素,在父元素中添加新的子元素.子元素可以为:string/element(js对象)/jQuery元素 代码如下: var oli ...
- TCP层shutdown系统调用的实现分析
概述 shutdown系统调用在tcp层会调用两个函数,对于ESTABLISHED状态需要调用tcp_shutdown关闭连接,对于LISTEN和SYN_SENT状态则需要以非阻塞模式调用tcp_di ...
- LeetCode 137. 只出现一次的数字 II(Single Number II)
题目描述 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现了三次.找出那个只出现了一次的元素. 说明: 你的算法应该具有线性时间复杂度. 你可以不使用额外空间来实现吗? 示例 1: ...
- better-scroll 的介绍
配置项中的 probeType 属性,是number,当值为 0 ,不会实时监听 scroll 事件,设置为 2 - 3 ,可以实时监听 scroll 事件 pullUpload 选项,设置为 fal ...
- Mathematica——绘制3D图形
Plot3D Plot3D[ + y, {x, -, }, {y, -, }] ListPointPlot3D 绘制点集 ListPointPlot3D[{{, , }, {, , }}, Color ...
- nginx目录及配置语法
一.Nginx安装目录 1.查看安装目录. 采用yum的方式安装,其实都是安装的一个一个的 pm 包,故可采用如下命令查看 rpm -ql nginx 遵循了 rpm 包管理规范. 2.安装目录详解 ...