[转帖]Linux命令pmap
Linux命令pmap
https://www.cnblogs.com/lnlvinso/p/5272771.html
jmap可以查看Java程序的堆内存使用情况,pmap可以查看Linux上运行的进程的内存使用情况。
查看Linux上运行的进程的内存使用情况,可以使用jmap,top,ps命令。
top命令本身也比较的耗资源,系统负载较大时不建议使用。
ps命令的使用,可以如下:
ps -aux | grep init
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.0 1584 536 ? S s 10:43 0:00 init [3]
其中RSS 就是这个process 实际占用的物理内存,VSZ 就是process 的虚拟内存,就是process 现在没有使用但未来可能会分配的内存大小。
ps 出来的结果,是有点不正确的,如果把所有程序的 RSS 加起来,恐怕比你的实际内存还要大呢。为什么呢??因为 ps 的结果,RSS 那部分,是包括共享内存的。
linux 会把一些shared libraries 载入到内存中,在pmap 的输出中,这些shared libraries 的名字通常是 lib*.so 。如 libX11.so.6.2.0 。这个 libX11.so.6.2.0 会被很多process load 到自己的运行环境中,同时,ps 输出的RSS 结果中,每个process 都包含了这个libX11.so.6.2.0 ,而事实上它只被load 了一次,如果单纯把ps 的结果相加,这样就重复计算了。
使用pmap可以看到进程实际使用的内存。

$ pmap -d 1980 1980: /usr/bin/yakuake Address Kbytes Mode Offset Device Mapping 00110000 2524 r-x-- 0000000000000000 008:00002 libkio.so.5.3.0 00387000 4 ----- 0000000000277000 008:00002 libkio.so.5.3.0 00388000 32 r---- 0000000000277000 008:00002 libkio.so.5.3.0 00390000 16 rw--- 000000000027f000 008:00002 libkio.so.5.3.0 00394000 444 r-x-- 0000000000000000 008:00002 libQtDBus.so.4.5.2 00403000 4 ----- 000000000006f000 008:00002 libQtDBus.so.4.5.2 00404000 4 r---- 000000000006f000 008:00002 libQtDBus.so.4.5.2 00405000 4 rw--- 0000000000070000 008:00002 libQtDBus.so.4.5.2 00407000 228 r-x-- 0000000000000000 008:00002 libkparts.so.4.3.0 00440000 8 r---- 0000000000039000 008:00002 libkparts.so.4.3.0 00442000 4 rw--- 000000000003b000 008:00002 libkparts.so.4.3.0 00443000 3552 r-x-- 0000000000000000 008:00002 libkdeui.so.5.3.0 007bb000 76 r---- 0000000000377000 008:00002 libkdeui.so.5.3.0 007ce000 24 rw--- 000000000038a000 008:00002 libkdeui.so.5.3.0 007d4000 4 rw--- 0000000000000000 000:00000 [ anon ] .... mapped: 180472K writeable/private: 19208K shared: 20544K

mapped的结果和ps命令中的VSZ 是一样的,writeable/private是进程实际使用的内存大小,shared 是该进程和其他进程共享的内存大小。
pmap -x命令的结果和pmap -d命令中的mapped是一样的。
pmap监测Java程序时,得到的是JVM所分配的内存大小,分析已经使用的内存情况就需要使用jmap来完成了。
[转帖]Linux命令pmap的更多相关文章
- [转帖]Linux性能测试 pmap命令
Linux性能测试 pmap命令 https://www.cnblogs.com/txw1958/archive/2012/07/26/linux-pmap.html 名称: pmap - ...
- [转帖]Linux命令中特殊符号
Linux命令中特殊符号 转自:http://blog.chinaunix.net/uid-16946891-id-5088144.html 在shell中常用的特殊符号罗列如下:# ; ;; . ...
- [转帖]linux命令dd
linux命令dd dd 是diskdump 的含义 之前学习过 总是记不住 用的还是少. http://embeddedlinux.org.cn/emb-linux/entry-level/20 ...
- Linux命令pmap
jmap可以查看Java程序的堆内存使用情况,pmap可以查看Linux上运行的进程的内存使用情况. 查看Linux上运行的进程的内存使用情况,可以使用jmap,top,ps命令. top命令本身也比 ...
- 【转】linux之pmap命令!
原贴:http://tonykorn97.itpub.net/post/6414/249221 linux之pmap命令! ====================================== ...
- [转帖]50个必知的Linux命令技巧,你都掌握了吗?
50个必知的Linux命令技巧,你都掌握了吗? https://blog.51cto.com/lizhenliang/2131141 https://blog.51cto.com/lizhenlian ...
- 【转帖】Linux命令行操作json神器jq
Linux命令行操作json神器jq https://www.cnblogs.com/chenqionghe/p/11736942.html jq类似一个awk或grep一样的神器,可以方便地在命令行 ...
- [转帖]linux常用命令大全(linux基础命令入门到精通+实例讲解+持续更新+命令备忘录+面试复习)
linux常用命令大全(linux基础命令入门到精通+实例讲解+持续更新+命令备忘录+面试复习) https://www.cnblogs.com/caozy/p/9261224.html 总结的挺好的 ...
- Linux 命令快捷键
Linux 命令快捷键 tab 自动补齐(有不知道的吗)Ctrl+u 删除(剪切)此处至开始所有内容 Ctrl+k 删除从光标所在位置到行末 快速命令行 – 快捷方式• history 搜索历史执行过 ...
随机推荐
- 【原创】go语言学习(十五)IO操作2
目录 文件打开和读写 读取压缩文件 bufio原理和cat命令实现 defer详解 文件打开和读写 1. 文件是存储在外部介质上的数据集合. A. 文件分类:文本文件和二进制文件 B. 文件存取方式: ...
- IDEA启动Tomcat服务器时某些端口(如1099端口)被占用的解决办法
启动Tomcat服务器时,出现1099端口被其它进程占用了解决办法: 1.找出占用1099端口的进程,进入windows命令,查看什么进程占用了1099端口,使用命令:netstat -aon|fin ...
- 按比例吃CPU
前几天测试软件在多核上的性能,需要按照比例吃各个CPU,查了查资料,撸了下面一小段代码: #include <unistd.h> #include <stdlib.h> #in ...
- deepin 删除文件后目录不刷新解决方案
调整最大文件监控数量 sudo vim /etc/sysctl.conf 添加参数 fs.inotify.max_user_watches = 运行使配置生效 sudo /sbin/sysctl -p ...
- qt 创建程序目录
voidinitDir() { QStringuserFilePath=QStandardPaths::writableLocation(QStandardPaths::DocumentsLocati ...
- python 设计模式之 (Chain of Responsibility)责任链模式
#写在前面 对于每一种设计模式,如果不理解它的原理和结构,是写不出例子来的.所以弄明白很重要. 等过完这段浑浑噩噩的日子,我要找个遍地开花的地方开怀大笑一场 #责任链模式定义 简书上一网友就把这个定义 ...
- [C#]加密解密 MD5、AES
/// <summary> /// MD5函数 /// </summary> /// <param name="str">原始字符串</p ...
- SSM配置基于注解AOP
pom.xml <dependency> <groupId>org.springframework</groupId> <artifactId>spri ...
- winform软件版本检测自动升级开发流程(转)
注:按此博文试验OK 基于C/S的开发有开发效率高,对于业务逻辑复杂,且不需要外网使用具有较大优势,但是弊端也不可忽视,就是升级麻烦,不可能每写一个版本就要拿着安装包给每个人去替换,这样不仅搞得自己很 ...
- Jquery异步请求数据实例代码
一.Jquery向aspx页面请求数据 前台页面JS代码: 代码如下: $("#Button1").bind("click", function () { $. ...