Linux内存管理 (26)内存相关工具
1. vmstat
2. memstat
memstat可以通过sudo apt install memstat安装,安装包括两个文件memstat和memstat.conf。
其中memstat.conf是memstat配置文件,指定memstat检索目录,里面应该包括主要的bin和lib目录。
memstat通过遍历/proc下所有进程,然后解析内存使用情况。
通过对比可以发现,memstat不会统计内核线程的内存使用情况,同时memstat也不会统计所有设备使用的内存。
2.1 memstat使用
memstat使用很简单:
memstat - 显示整个系统内存使用情况。
memstat -p pid - 显示进程pid的内存使用情况。
2.2 memstat解读
下面是一嵌入式设备的memstat情况,和ps对照可以看出不显示内核线程占用情况。
总体来看分为两大部分:进程视角、文件视角。
# memstat
288k: PID (/bin/busybox)-----------------------------------------------------进程可执行文件内存占用
476k: PID (/usr/sbin/sshd)
288k: PID (/bin/busybox)
288k: PID (/bin/busybox)
288k: PID (/usr/bin/memstat)
784k( 760k): /bin/busybox 154-------------------------共享库内存占用情况
52k( 36k): /lib/libnss_files-2.28..so
16k( 8k): /lib/libutil-2.28..so
36k( 28k): /lib/libcrypt-2.28..so
1272k( 1192k): /lib/libc-2.28..so ...
156k( 116k): /lib/ld-2.28..so ...
16k( 8k): /lib/libdl-2.28..so
708k( 696k): /usr/sbin/sshd
1460k( 1364k): /usr/lib/libcrypto.so.1.0.
80k( 72k): /usr/lib/libz.so.1.2.
16k( 8k): /usr/bin/memstat
--------
6224k ( 4288k)
2.2.1 bin内存占用
依次是占用内存大小、pid号、文件路径。
这里的大小不包括库文件,也不包括可执行文件的text段,只是进程私有内存大小。
2.2.3 库内存占用
依次是此文件总的分配内存、括号内是共享部分大小、然后是库路径、最后是使用此库文件的进程号。
Linux内存管理 (26)内存相关工具的更多相关文章
- Linux进程管理——查看内存的工具
Linux进程管理——查看内存的工具 一查看内存的工具vmstat vmstat命令:虚拟内存信息vmstat [options] [delay [count]]vmstat 2 5 [root@ce ...
- SAP专家培训之Netweaver ABAP内存管理和内存调优最佳实践
培训者:SAP成都研究院开发人员Jerry Wang 1. Understanding Memory Objects in ABAP Note1: DATA itab WITH HEADER LINE ...
- [内存管理]linux内存管理 之 内存节点和内存分区
Linux支持多种硬件体系结构,因此Linux必须采用通用的方法来描述内存,以方便对内存进行管理.为此,Linux有了内存节点.内存区.页框的概念,这些概念也是一目了然的. 内存节点:主要依据CPU访 ...
- Linux内存管理 (25)内存sysfs节点解读
1. General 1.1 /proc/meminfo /proc/meminfo是了解Linux系统内存使用状况主要接口,也是free等命令的数据来源. 下面是cat /proc/meminfo的 ...
- Linux内存管理 (16)内存规整
专题:Linux内存管理专题 关键词:内存规整.页面迁移.pageblock.MIGRATE_TYPES. 内存碎片的产生:伙伴系统以页为单位进行管理,经过大量申请释放,造成大量离散且不连续的页面.这 ...
- Linux内存管理 (22)内存检测技术(slub_debug/kmemleak/kasan)
专题:Linux内存管理专题 关键词:slub_debug.kmemleak.kasan.oob.Redzone.Padding. Linux常见的内存访问错误有: 越界访问(out of bound ...
- Linux内存管理 (22)内存检测技术(slub_debug/kmemleak/kasan)【转】
转自:https://www.cnblogs.com/arnoldlu/p/8568090.html 专题:Linux内存管理专题 关键词:slub_debug.kmemleak.kasan.oob. ...
- linux 进程管理和内存分配
1.进程相关概念 进程:正在运行中的程序 内核功用:进程管理.文件系统.网络功能.内存管理.驱动程序.安全功能等 Process:运行中的程序的一个副本,是被载入内存的一个指令集合 进程 ID(Pro ...
- [内存管理]连续内存分配器(CMA)概述
作者:Younger Liu, 本作品采用知识共享署名-非商业性使用-相同方式共享 3.0 未本地化版本许可协议进行许可. 原文地址:http://lwn.net/Articles/396657/ 1 ...
随机推荐
- PE知识复习之PE的RVA与FOA的转换
PE知识复习之PE的RVA与FOA的转换 一丶简介PE的两种状态 首先我们知道PE有两种状态.一种是内存展开.一种是在文件中的状态.那么此时我们有一个需求. 我们想改变一个全局变量的初始值.此时应该怎 ...
- Zookeeper注册中心和Dubbo-Admin管理平台的搭建
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件.它是一个为分布式应用提供一致性服务的软件,提供的功 ...
- ubuntu开发项目不能执行热更新
当项目开发到一定成熟度,项目基本上比较大(vue,angular,react,java,php等),在Ubuntu系统环境下,我们写了代码,但是不能想Windows一样执行热更新,这是因为Ubuntu ...
- JDK源码分析(四)—— ConcurrentHashMap
一.概述 ConcurrentHashMap是Java5中新增加的一个线程安全的Map集合,可以用来替代HashTable. 锁分段技术 原理:将数据分成一段一段的存储,然后给每一段数据配一把锁,当一 ...
- JQuery官方学习资料(译):Data方法
你可能经常会想需要通过元素来存储一些数据.在JavaScript中你可能需要给元素添加属性来实现这样的功能,但是在某些浏览器中,你可能还需要处理因此造成的内存泄露问题.JQuery提供了一个简 ...
- Android开发过程中的坑及解决方法收录(三)
bug:应用出现了 不幸运的,应用已停止的错误提示 排除问题: 1.intent接收数据的字符串不匹配 2.java常见的NullPointerException(空指针错误),可能由三个原因引起,字 ...
- Css实现手机端页面强制横屏的方法示例
样式 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 @media screen ...
- input中只能写入数字int、float
input 属性 type="number" <input type="number" min="1" max="100&q ...
- JMeter 内置日期(时间)函数总结
JMeter 内置日期(时间)函数总结 by:授客 QQ:1033553122 1. 测试环境 apache-jmeter-3.3 下载地址: http://jmeter.apache.org/c ...
- Thinkphp5整合微信扫码支付开发实例
ThinkPHP框架是比较多人用的,曾经做过的一个Thinkphp5整合微信扫码支付开发实例,分享出来大家一起学习 打开首页生成订单,并显示支付二维码 public function index() ...