[转帖]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 搜索历史执行过 ...
随机推荐
- 配置Spring Data Redis
事前准备 1.下载redis https://github.com/MicrosoftArchive/redis/releases/tag/win-3.2.100 2.下载redis可视化工具 htt ...
- c++ 珊格迷宫问题
#demo1 #include<iostream> #include<ctime> #include<cstdlib> #include<queue> ...
- 国内Archlinux arm的镜像源
清华 http://mirrors.tuna.tsinghua.edu.cn/archlinuxarm/arch/arch/repo 中科大 http://mirrors.ustc.edu.cn/ar ...
- STL算法之find
定义 template <class InputIterator, class T> InputIterator find (InputIterator first, InputItera ...
- 字节组数(二进制流)、Base64、图片(文件)、二进制相互之间转换
using System; using System.Collections.Generic; using System.Drawing; using System.Drawing.Imaging; ...
- IIS/VS IIS Express 添加MIME映射 svg、woff、woff2、json
出现问题 页面提示 font-awesome/fonts/fontawesome-webfont.woff2?v=4.3.0 Failed to load resource: the server r ...
- DELPHI解析JSON格式化的日期
DELPHI解析JSON格式化的日期 json返回的日期是 /Date(1560355200000)/ 这样的格式. 这个1560355200000,是指1970年以后的秒数. DELPHI如何解析这 ...
- Python 自学笔记(六)
PK小游戏 1.要有玩家敌人:那就是需要定义两个角色的属性变量 2.相互攻击:需要两个角色都有血量和攻击的变量(也就是四个变量) 3.攻击减少血量:比如玩家血量=敌人攻击力-玩家当前血量 4.最终胜负 ...
- leetcode 108. Convert Sorted Array to Binary Search Tree 、109. Convert Sorted List to Binary Search Tree
108. Convert Sorted Array to Binary Search Tree 这个题使用二分查找,主要要注意边界条件. 如果left > right,就返回NULL.每次更新的 ...
- Ionic4.x 内置颜色
primary/secondary/tertiary /success/warning/danger/dark/medium/light