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命令的更多相关文章
- Linux Pmap 命令:查看进程用了多少内存
Pmap 提供了进程的内存映射,pmap命令用于显示一个或多个进程的内存状态.其报告进程的地址空间和内存状态信息.Pmap实际上是一个Sun OS上的命令,linux仅支持其有限的功能.但是它还是对查 ...
- 【转】linux之pmap命令!
原贴:http://tonykorn97.itpub.net/post/6414/249221 linux之pmap命令! ====================================== ...
- [转帖]Linux性能测试 pmap命令
Linux性能测试 pmap命令 https://www.cnblogs.com/txw1958/archive/2012/07/26/linux-pmap.html 名称: pmap - ...
- 常用Linux 服务器命令--各种性能指标命令
如果你想知道你的服务器正在做干什么,你就需要了解一些基本的命令,一旦你精通了这些命令,那你就是一个专业的 Linux 系统管理员. 监控命令## iostat### iostat命令用来显示存储系统的 ...
- linux top命令查看内存及多核CPU的使用讲述【转】
转载一下top使用后详细的参数,之前做的笔记找不见了,转载一下,作为以后的使用参考: 原文地址:http://blog.csdn.net/linghao00/article/details/80592 ...
- Linux 常用命令大全2
Linux 常用命令大全 [帮助命令] command —help man command man 2 command 查看第2个帮助文件 man -k keyword 查找含有关键字的帮助 info ...
- Linux 常用命令:系统状态篇
前言 Linux常用命令中,有些命令可以用于查看系统的状态,通过了解系统当前的状态,能够帮助我们更好地维护系统或定位问题.本文就简单介绍一下这些命令. 1. 查看系统运行时间--uptime 有时候我 ...
- Linux性能测试 命令大全
Linux 系统出现问题时,我们不仅需要查看系统日志信息,而且还要使用大量的性能监测工 具来判断究竟是哪一部分(内存.CPU.硬盘……)出了问题.在 Linux 系统中,所有的运行 参数保存在虚拟目录 ...
- linux grep命令
linux grep命令1.作用Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来.grep全称是Global Regular Expressio ...
随机推荐
- Symantec Backup Exec(BE)的启停
# /etc/init.d/VRTSralus.init start Starting Symantec Backup Exec Remote Agent ...... Starting Symant ...
- 使用fork并发处理多个client的请求和对等通信p2p
一.在前面讲过的回射客户/服务器程序中,服务器只能处理一个客户端的请求,如何同时服务多个客户端呢?在未讲到select/poll/epoll等高级IO之前,比较老土的办法是使用fork来实现.网络服务 ...
- du和df命令的区别
du和df命令都被用于获得文件系统大小的信息:df用于报告文件系统的总块数及剩余块数,du -s /<filesystem>用于报告文件系统使用的块数.但是,我们可以发现从df命令算出的文 ...
- Linux内核中锁机制之内存屏障、读写自旋锁及顺序锁
在上一篇博文中笔者讨论了关于原子操作和自旋锁的相关内容,本篇博文将继续锁机制的讨论,包括内存屏障.读写自旋锁以及顺序锁的相关内容.下面首先讨论内存屏障的相关内容. 三.内存屏障 不知读者是是否记得在笔 ...
- ubuntu的apt-get提示资源被锁定
一.错误提示 E: Could not : Resource temporarily unavailable) E: Unable to lock the administration directo ...
- 使用python执行linux命令
python版本是2.7.12 一.简单的获取linux命令的执行结果,比如:获取一个PID的进程树结构,linux命令是pstree -p pid,在python中有一个模块可以方便的获取.至于有时 ...
- mysql-5.7中的innodb_buffer_pool_prefetching(read-ahead)详解
一.innodb的read-ahead是什么: 所谓的read-ahead就是innodb根据你现在访问的数据,推测出你接下来可能要访问的数据,并把它们(可能要访问的数据)读入 内存. 二.read- ...
- php序列化与反序列化时字符集不一致问题的解决办法
今天的用PHP的时候无意的出现了用unserialize()函数转换老是返回false,我确认我的字符串是没错的,测试了很多次还是一样,没办法,启用了error_reporting(E_ALL)启用错 ...
- Vector3.Set的正确使用
直接调用position.Set会发现没有用.其实和其本身是结构体有关,要当成一个值类型来看待,因为他全部是在栈中. transform.position.Set(,,); 改成这样即可: var t ...
- Ubuntu 安装谷歌拼音输入法
Ubuntu14.04内置的拼音输入法有一个bug,使得Live USB全拼无法使用. 安装Google拼音输入法步骤如下: 1. 打开Ubuntu软件中心 (Ubuntu Software Cent ...