Linux Pmap 命令:查看进程用了多少内存
Pmap 提供了进程的内存映射,pmap命令用于显示一个或多个进程的内存状态。其报告进程的地址空间和内存状态信息。Pmap实际上是一个Sun OS上的命令,linux仅支持其有限的功能。但是它还是对查看完整的进程地址空间很有帮助。我们需要PID或者运行的进程的唯一进程ID来查看进程内存状态,我们可以通过/proc或者常规命令比如top或ps得到它。

语法或用法
#pmap PID 或者 #pmap [options] PID
在输出中它显示全部的地址,kbytes,mode还有mapping。
选项
- -x extended显示扩展格式
- -d device显示设备格式
- -q quiet不显示header/footer行
- -V 显示版本信息
单一进程内存状态
- [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
多进程内存状态
我们可以检查多进程内存通过插入多个PID。加入多个PID中间使用空格分隔。
pmap 1013 1217 1118
扩展进程内存
- [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的说明如下
扩展和设备格式区域
- Address: 内存开始地址
- Kbytes: 占用内存的字节数(KB)
- RSS: 保留内存的字节数(KB)
- Dirty: 脏页的字节数(包括共享和私有的)(KB)
- Mode: 内存的权限:read、write、execute、shared、private (写时复制)
- Mapping: 占用内存的文件、或[anon](分配的内存)、或[stack](堆栈)
- Offset: 文件偏移
- Device: 设备名 (major:minor)
Linux Pmap 命令:查看进程用了多少内存的更多相关文章
- pmap命令 查看进程用了多少内存
pmap命令 查看进程用了多少内存 用法 pmap [ -x | -d ] [ -q ] pids ...
- Linux ps 命令查看进程启动及运行时间
引言 同事问我怎样看一个进程的启动时间和运行时间,我第一反应当然是说用 ps 命令啦.ps aux或ps -ef不就可以看时间吗? ps aux选项及输出说明 我们来重新复习下ps aux的选项,这是 ...
- Linux常用命令 查看进程信息时 copy的-----温故而知新
1.查进程 ps命令查找与进程相关的PID号: ps a 显示现行终端机下的所有程序,包括其他用户的程序. ps -A 显示所有程序. ps c 列出程序时,显示每个程序真正的 ...
- Linux基础命令——查看进程命令
linux是一个 多进程 多用户的操作系统 ps(显示当前进程的状态) ps -ef 查看当前linux 进程 ps -ef | grep 'mysqld' 过滤mysql的进程 (grep ...
- linux ps命令查看最消耗CPU、内存的进程
1.CPU占用最多的前10个进程: ps auxw|head -1;ps auxw|sort -rn -k3|head -10 2.内存消耗最多的前10个进程 ps auxw|head -1;ps a ...
- linux top命令查看内存及多核CPU的使用讲述【转】
转载一下top使用后详细的参数,之前做的笔记找不见了,转载一下,作为以后的使用参考: 原文地址:http://blog.csdn.net/linghao00/article/details/80592 ...
- top命令查看进程列表
top命令查看进程列表 top命令是linux下常用的性能分析工具,能实时显示系统中各个进程的资源占用状况.和win的资源管理器类似.top是一个动态显示过程,即可以通过用户按键来不断刷新当前状态,如 ...
- linux常用命令 查看文件
Linux常用命令 查看文件 cat命令 cat命令的用途是连接文件或标准打印输入并打印.这个命令常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示. 命令格式: cat [ ...
- Linux基础命令-查看基本硬件信息
Linux基础命令-查看基本硬件信息 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.查看CPU信息 [root@node101.yinzhengjie.org.cn ~]# l ...
- 查看程序是否启动或者关闭--比如查看Tomcat是否开启!直接用ps命令查看进程就行了啊
1.查看程序是否启动或者关闭--比如查看Tomcat是否开启!直接用ps命令查看进程就行了啊 2.Tomcat服务器和虚拟机的关系,Tomcat启动运行过程要调用系统环境变量的java_home啊,J ...
随机推荐
- mac 升级后 web 服务器起不来 问题
4. Apache 要本地调试代码的时候发现Apache也不能幸免地跪了.执行apachectl -v发现Apache已经更新到2.4.9版本了.一定又是因为版本更新出了什么差错. 4.1 修改htt ...
- 吐槽C++
个人感觉,在c++ 道路的学习路上,遇到很多的坎坷,现在回想起来,最关键一点就是 c++知识点繁杂很多,教科书很多知识点都没有提到. 但是在实际工作中,这些没有提到的知识点,却又经常会用到(或者看开源 ...
- iOS 图片背景模糊效果
iOS 图片背景模糊效果 1.使用CoreImage中的模糊滤镜 原始效果图如下: CoreImage的实现: - (void)viewDidLoad { [super viewDidLoad]; / ...
- 如何定制Sink扩展.Net Remoting功能
http://www.cnblogs.com/rickie/archive/2004/10/21/54891.html
- 分布式搜索Elasticsearch——QueryBuilders.matchPhrasePrefixQuery
注:该文项目基础为分布式搜索Elasticsearch——项目过程(一)和分布式搜索Elasticsearch——项目过程(二),项目骨架可至这里下载. ES源代码中对matchPhrasePrefi ...
- 一步一步制作yaffs/yaffs2根文件系统(四)---构建etc、dev等剩余目录
开发环境:Ubuntu 12.04 开发板:mini2440 256M NandFlash 64M SDRAM 交叉编译器:arm-linux-gcc 4.4.3点此可下载 BusyBox版本: ...
- poj3308Paratroopers(dinic)
http://poj.org/problem?id=3308 给两个定义 最小割:对于图中的两个点(一般为源点和汇点)来说,如果把图中的一些边去掉,如果它们之间无法连通的话,则这些边组成的集合就叫为割 ...
- SQL Server中Delete语句表名不能用别名
delete from TABLEA A where A.FIELD1=10 (ORACLE适用)delete TABLEA from TABLEA A where A.FIELD1=1 ...
- Eclipse环境下JBoss调试,解决引用的工程不被部署的问题
其实算是一个很小的经验,在eclipse环境下进行jboss的部署,因为要定义某公共包的问题,将代码down下来做了个工程,部署时发现jboss提示:class not found! 从jboss部署 ...
- 记一次Sql优化过程
这几天在写一个存储过程,反复优化了几次,从最开始的7分钟左右,优化到最后的几秒,并且这个过程中我的导师帮我指点了很多问题,这些指点都是非常宝贵的,独乐乐不如众乐乐,一起来分享这次的优化过程吧. 这个存 ...