linux包之procps之pmap命令
名称:
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) 设备名
pmap -d 1
pmap -d 1 -q 不显示头尾
[root@C44 ~]# while true; do pmap -d 3066 | tail -1; sleep 2; done 循环显示进程3066的设备格式的最后1行,间隔2秒,
最后一行的值
mapped 表示该进程映射的虚拟地址空间大小,也就是该进程预先分配的虚拟内存大小,即ps出的vsz
writeable/private 表示进程所占用的私有地址空间大小,也就是该进程实际使用的内存大小
shared 表示进程和其他进程共享的内存大小
[root@-shiyan bin]# pmap -x
: sshd: root@pts/
Address Kbytes RSS Dirty Mode Mapping
00007f979d216000 rw--- [ anon ]
00007f979d3a0000 rw-s- zero (deleted)
00007f979d4e0000 r-x-- pam_limits.so
00007f979d4e4000 ----- pam_limits.so
00007f979d6e3000 r---- pam_limits.so
00007f979d6e4000 rw--- pam_limits.so
00007f979d6e5000 r-x-- pam_keyinit.so [root@-shiyan bin]# pmap -d
: sshd: root@pts/
Address Kbytes Mode Offset Device Mapping
00007f979d216000 rw--- : [ anon ]
00007f979d3a0000 rw-s- : zero (deleted)
00007f979d4e0000 r-x-- 0fd: pam_limits.so
00007f979d4e4000 ----- 0fd: pam_limits.so
[root@221-comecs ~]# watch -d -n 1 'ss -n|grep 10001'
15:19:16 23 ~:#uptime
15:28:15 up 38 days, 3:57, 2 users, load average: 0.00, 0.00, 0.00
snice与skill是一对,pgrep与pkill是一对
pgrep, pkill - look up or signal processes based on name and other attributes
pgrep根据用户名,命令名或者其它属性过滤出pid,非常方便,pkill发送相应的信号
[root@109-com1 bin]# pgrep F
26195
root 26195 1 4 Jul23 pts/2 01:00:28 /usr/local/ps/bin/FLTService
15:31:39 25 ~:#ldd /usr/bin/uptime
linux-vdso.so.1 => (0x00007fff291ff000)
libproc-3.2.8.so => /lib64/libproc-3.2.8.so (0x00007f2a52250000)
libc.so.6 => /lib64/libc.so.6 (0x00007f2a51ebc000)
/lib64/ld-linux-x86-64.so.2 (0x00007f2a5247a000)
15:31:52 26 ~:#ldd /usr/bin/w
linux-vdso.so.1 => (0x00007fffd8326000)
libproc-3.2.8.so => /lib64/libproc-3.2.8.so (0x00007f4f54789000)
libc.so.6 => /lib64/libc.so.6 (0x00007f4f543f5000)
/lib64/ld-linux-x86-64.so.2 (0x00007f4f549b3000)
15:32:15 27 ~:#ldd /usr/bin/vmstat
linux-vdso.so.1 => (0x00007fff029ff000)
libproc-3.2.8.so => /lib64/libproc-3.2.8.so (0x00007fbf227d6000)
libc.so.6 => /lib64/libc.so.6 (0x00007fbf22442000)
/lib64/ld-linux-x86-64.so.2 (0x00007fbf22a00000)
procps相关工具都调用同一个库
[oracle@localhost ~]$ rpm -ql procps
/bin/ps
/lib64/libproc-3.2.8.so
/lib64/libproc.so
/sbin/sysctl
/usr/bin/free
/usr/bin/pgrep
/usr/bin/pkill
/usr/bin/pmap
/usr/bin/pwdx
/usr/bin/skill
/usr/bin/slabtop
/usr/bin/snice
/usr/bin/tload
/usr/bin/top
/usr/bin/uptime
/usr/bin/vmstat
/usr/bin/w
/usr/bin/watch
linux包之procps之pmap命令的更多相关文章
- linux包之procps之sysctl命令
概述 [root@localhost ~]# rpm -qf /sbin/sysctlprocps-3.2.8-25.el6.x86_64 我们常常在 Linux 的 /proc/sys 目录下,手动 ...
- linux包之procps之vmstat命令
概述 [root@localhost ~]# rpm -qf /usr/bin/vmstatprocps-3.2.8-25.el6.x86_64 vmstat是一个很全面的性能分析工具,可以观察到系统 ...
- linux包之bash之内置命令ulimit
概述 [root@localhost ~]# rpm -qa|grep bashbash-4.1.2-15.el6_4.x86_64 linux limits.conf 配置 limits.conf ...
- linux包之iproute之ss命令
概述 [root@localhost ~]# rpm -qa|grep iprouteiproute-2.6.32-31.el6.x86_64 当服务器的socket连接数量变得非常大时,无论是使用n ...
- #linux包之tcpdump之tcpdump命令
概述 man tcpdump 已阅 yum install tcpdump Downloading Packages:(1/2): libpcap-1.4.0-1.20130826git2dbcaa1 ...
- linux包之gdb之gdb命令与core文件产生
gdb-7.2-64.el6_5.2.x86_64/usr/bin/gcore/usr/bin/gdb/usr/bin/gdb-add-index/usr/bin/gdbtui/usr/bin/gst ...
- linux包之iproute之ip命令
[root@localhost ~]# rpm -qf /sbin/ipiproute-2.6.32-31.el6.x86_64ip 是个命令, ip 命令的功能很多!基本上它整合了 ifconfig ...
- linux包之procps之ps与top
概述 阅读man ps页,与man top页,最权威与标准,也清楚 有时候系统管理员可能只关心现在系统中运行着哪些程序,而不想知道有哪些进程在运行.由于一个应用程序可能需要启动多个进程.所以在同等情况 ...
- linux包之sysstat之sar命令
要启动SAR,必须通过cron工具以周期性的间隔启动.安装sysstat包后,默认创建一个/etc/cron.d/sysstat文件,其默认内容为:# run system activity acco ...
随机推荐
- 简单学习:repo入门
一:关于repo repo是Google开发的用于管理Android版本库的一个工具,repo并不是用于取代git,而是用Python对git进行了一定的封装,简化了对多个Git版本库的管理.对于re ...
- kali 2016的基础配置
1.Kali 2016的更新源 deb http://http.kali.org/kali kali-rolling main contrib non-free 2.安装虚拟机 apt-get upd ...
- 破解 crackme(完全拆解警告窗口)
系统 : Windows xp 程序 : crackme 程序下载地址 :http://pan.baidu.com/s/1kUrbcAr 要求 : 注册机编写 & 去除Nag窗口 使用工具 : ...
- Inno Setup 在安装程序开始前和卸载程序开始前,检查并关闭运行的进程
(2011-12-29 11:54:56) 转载▼ 标签: innosetup it 分类: 开发工具经验累积 Inno Setup在安装程序前,如果有使用的进程在运行,会有错误提示,而使得Insta ...
- 《MORE EFFECTIVE C++》条款20 条款21
条款20 协助编译器实现返回值优化 当重载运算符的时候,比如+ - * / 这类运算符,该函数返回的值一定是个右值(即不能是引用),那么执行一次运算的开销可能会在临时对象上调用多次构造函数和析构函数, ...
- JavaScript数据结构——树
树:非顺序数据结构,对于存储需要快速查找的数据非常有用. 二叉树:二叉树中的节点最多只能有两个子节点(左侧子节点和右侧子节点).这些定义有助于我们写出更高效的向/从树中插入.查找和删除节点的算法. 二 ...
- C++STL库之set的用法
/*set意为集合,是一个内部自动排序不含重复元素的容器*/#include<stdio.h>#include<set>using namespace std;int main ...
- 2015GitWebRTC编译实录2
2015.07.17libyuvneon编译通过,可能需要验证才行.先继续下一个lib commonaudio[170/1600 ] CXX obj /webrtc/common_audio/comm ...
- python 文件编码
错误:UnicodeDecodeError: 'gbk' codec can't decode byte 原因:文件为utf-8编码,系统却用gbk去解码,必然出现错误. 解决方法: with ope ...
- leetcode 133. Clone Graph ----- java
Clone an undirected graph. Each node in the graph contains a label and a list of its neighbors. OJ's ...