当前位置: 首页 > news >正文

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 显示版本信息

单一进程内存状态

  1. [root@info ~]# pmap 1013 
  2.  
  3.  
  4. 1013: /usr/sbin/sshd 
  5. 00110000 1480K r-x- /usr/lib/libcrypto.so.1.0.0 
  6. 00282000 80K rw-- /usr/lib/libcrypto.so.1.0.0 
  7. 00296000 12K rw-- [ anon ] 
  8. 00299000 36K r-x- /lib/libkrb5support.so.0.1 
  9. 002a2000 4K rw-- /lib/libkrb5support.so.0.1 
  10. 002a3000 16K r-x- /lib/libplc4.so 
  11. 002a7000 4K rw-- /lib/libplc4.so 
  12. 002ab000 88K r-x- /lib/libaudit.so.1.0.0 
  13. 002c1000 4K r-- /lib/libaudit.so.1.0.0 
  14. 002c2000 4K rw-- /lib/libaudit.so.1.0.0 
  15. 002c3000 216K r-x- /lib/libgssapi_krb5.so.2.2 
  16. 002f9000 4K rw-- /lib/libgssapi_krb5.so.2.2 
  17. 002fa000 808K r-x- /lib/libkrb5.so.3.3 
  18. 003c4000 24K rw-- /lib/libkrb5.so.3.3 
  19. 003ca000 152K r-x- /lib/libk5crypto.so.3.1 
  20. 003f0000 4K rw-- /lib/libk5crypto.so.3.1 
  21. 003f1000 92K r-x- /usr/lib/libnssutil3.so 
  22. 00738000 4K r--- /lib/libresolv-2.12.so 
  23. 00739000 4K rw-- /lib/libresolv-2.12.so 
  24. 0073a000 8K rw-- [ anon ] 
  25. 00825000 120K r-x- /lib/ld-2.12.so 
  26. 00843000 4K r--- /lib/ld-2.12.so 
  27. 00844000 4K rw-- /lib/ld-2.12.so 
  28. 0090d000 32K r-x- /lib/libwrap.so.0.7.6 
  29. 00915000 4K rw-- /lib/libwrap.so.0.7.6 
  30. 00948000 484K r-x- /usr/sbin/sshd 
  31. 009c1000 8K rw-- /usr/sbin/sshd 
  32. 009c3000 20K rw-- [ anon ] 
  33. 009e0000 92K r-x- /lib/libpthread-2.12.so 
  34. 009f7000 4K r--- /lib/libpthread-2.12.so 
  35.  
  36. total 8232K 

多进程内存状态

我们可以检查多进程内存通过插入多个PID。加入多个PID中间使用空格分隔。

pmap 1013 1217 1118 

扩展进程内存

  1. [root@info ~]# pmap -x 1013 
  2. 1013: /usr/sbin/sshd 
  3. Address Kbytes RSS Dirty Mode Mapping 
  4. 00110000 1480 92 0 r-x- libcrypto.so.1.0.0 
  5. 00282000 80 80 80 rw-- libcrypto.so.1.0.0 
  6. 00296000 12 8 4 rw-- [ anon ] 
  7. 00299000 36 0 0 r-x- libkrb5support.so.0.1 
  8. 002a2000 4 4 4 rw-- libkrb5support.so.0.1 
  9. 002a3000 16 0 0 r-x- libplc4.so 
  10. 002a7000 4 4 4 rw-- libplc4.so 
  11. 002ab000 88 4 0 r-x- libaudit.so.1.0.0 
  12. 002c1000 4 4 4 r--- libaudit.so.1.0.0 
  13. 002c2000 4 4 4 rw-- libaudit.so.1.0.0 
  14. 002c3000 216 4 0 r-x- libgssapi_krb5.so.2.2 
  15. 002f9000 4 4 4 rw-- libgssapi_krb5.so.2.2 
  16. 002fa000 808 4 0 r-x- libkrb5.so.3.3 
  17. 003c4000 24 24 24 rw-- libkrb5.so.3.3 
  18. 003ca000 152 4 0 r-x- libk5crypto.so.3.1 
  19. 003f0000 4 4 4 rw-- libk5crypto.so.3.1 
  20. 003f1000 92 0 0 r-x- libnssutil3.so 
  21. 00408000 12 12 12 rw-- libnssutil3.so 
  22. 0040b000 12 0 0 r-x- libplds4.so 
  23. 0040e000 4 4 4 rw-- libplds4.so 
  24.  
  25. --- --- --- --- --- 
  26. 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)

相关文章:

  • HBuilder X运行uniapp之app真机调试控制台console不打印,多种原因分析解决,亲测有效
  • 开源项目推荐:推荐5款前端的开源项目,vue、uniapp、react学无止境用无止境_
  • uniapp插件开发:uniapp之slider滑动选择插件,方向支持横向和竖向,更多参数可配置化
  • 与 ConTeXt MkIV 官方文档的接驳
  • uniapp插件开发:uniapp使用uni_modules开发插件、发布插件,直接导入,一键升级
  • 小程序跳转:小程序之间的跳转详细步骤(公众号绑定小程序、wx.navigateToMiniProgram实现跳转)
  • JAVA调用DLL使用JNA详细说明实例
  • 小程序跳转:云开发之h5跳小程序
  • 使用系统的CoreLocation定位
  • 小程序跳转:云开发H5跳转小程序的坑,微信可跳,H5无法跳
  • FLAG是什么公司
  • 小程序跳转:h5避免中间页直接打开微信小程序
  • 安装windows后grub的恢复
  • uniapp开发:uniapp之切换vue3,一直使用一直爽
  • uniapp开发:uniapp之vue2、vue3运行至h5请求跨域配置
  • Codepen 每日精选(2018-3-25)
  • Github访问慢解决办法
  • java架构面试锦集:开源框架+并发+数据结构+大企必备面试题
  • leetcode-27. Remove Element
  • linux学习笔记
  • Material Design
  • node 版本过低
  • PHP那些事儿
  • Rancher-k8s加速安装文档
  • STAR法则
  • Vue 重置组件到初始状态
  • 复杂数据处理
  • 简单数学运算程序(不定期更新)
  • 解决jsp引用其他项目时出现的 cannot be resolved to a type错误
  • 入手阿里云新服务器的部署NODE
  • 使用Maven插件构建SpringBoot项目,生成Docker镜像push到DockerHub上
  • 详解NodeJs流之一
  • 学习笔记DL002:AI、机器学习、表示学习、深度学习,第一次大衰退
  • 中文输入法与React文本输入框的问题与解决方案
  • 智能情侣枕Pillow Talk,倾听彼此的心跳
  • ​3ds Max插件CG MAGIC图形板块为您提升线条效率!
  • ​一些不规范的GTID使用场景
  • #android不同版本废弃api,新api。
  • #我与Java虚拟机的故事#连载06:收获颇多的经典之作
  • #我与Java虚拟机的故事#连载08:书读百遍其义自见
  • (1)SpringCloud 整合Python
  • (NO.00004)iOS实现打砖块游戏(十二):伸缩自如,我是如意金箍棒(上)!
  • (pytorch进阶之路)CLIP模型 实现图像多模态检索任务
  • (Redis使用系列) SpirngBoot中关于Redis的值的各种方式的存储与取出 三
  • (SpringBoot)第二章:Spring创建和使用
  • (附源码)ssm基于jsp的在线点餐系统 毕业设计 111016
  • (黑马C++)L06 重载与继承
  • (转) Android中ViewStub组件使用
  • (转)GCC在C语言中内嵌汇编 asm __volatile__
  • (转)Scala的“=”符号简介
  • ****Linux下Mysql的安装和配置
  • **登录+JWT+异常处理+拦截器+ThreadLocal-开发思想与代码实现**
  • .“空心村”成因分析及解决对策122344
  • .Family_物联网
  • .jks文件(JAVA KeyStore)