1. vmstat

参照《Linux CPU占用率监控工具小结-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)内存相关工具的更多相关文章

  1. Linux进程管理——查看内存的工具

    Linux进程管理——查看内存的工具 一查看内存的工具vmstat vmstat命令:虚拟内存信息vmstat [options] [delay [count]]vmstat 2 5 [root@ce ...

  2. SAP专家培训之Netweaver ABAP内存管理和内存调优最佳实践

    培训者:SAP成都研究院开发人员Jerry Wang 1. Understanding Memory Objects in ABAP Note1: DATA itab WITH HEADER LINE ...

  3. [内存管理]linux内存管理 之 内存节点和内存分区

    Linux支持多种硬件体系结构,因此Linux必须采用通用的方法来描述内存,以方便对内存进行管理.为此,Linux有了内存节点.内存区.页框的概念,这些概念也是一目了然的. 内存节点:主要依据CPU访 ...

  4. Linux内存管理 (25)内存sysfs节点解读

    1. General 1.1 /proc/meminfo /proc/meminfo是了解Linux系统内存使用状况主要接口,也是free等命令的数据来源. 下面是cat /proc/meminfo的 ...

  5. Linux内存管理 (16)内存规整

    专题:Linux内存管理专题 关键词:内存规整.页面迁移.pageblock.MIGRATE_TYPES. 内存碎片的产生:伙伴系统以页为单位进行管理,经过大量申请释放,造成大量离散且不连续的页面.这 ...

  6. Linux内存管理 (22)内存检测技术(slub_debug/kmemleak/kasan)

    专题:Linux内存管理专题 关键词:slub_debug.kmemleak.kasan.oob.Redzone.Padding. Linux常见的内存访问错误有: 越界访问(out of bound ...

  7. Linux内存管理 (22)内存检测技术(slub_debug/kmemleak/kasan)【转】

    转自:https://www.cnblogs.com/arnoldlu/p/8568090.html 专题:Linux内存管理专题 关键词:slub_debug.kmemleak.kasan.oob. ...

  8. linux 进程管理和内存分配

    1.进程相关概念 进程:正在运行中的程序 内核功用:进程管理.文件系统.网络功能.内存管理.驱动程序.安全功能等 Process:运行中的程序的一个副本,是被载入内存的一个指令集合 进程 ID(Pro ...

  9. [内存管理]连续内存分配器(CMA)概述

    作者:Younger Liu, 本作品采用知识共享署名-非商业性使用-相同方式共享 3.0 未本地化版本许可协议进行许可. 原文地址:http://lwn.net/Articles/396657/ 1 ...

随机推荐

  1. 初识区块链——用JS构建你自己的区块链

    前言 区块链太复杂,那我们就讲点简单的.用JS来构建你自己的区块链系统,寥寥几行代码就可以说明区块链的底层数据结构.POW挖矿思想和交易过程等.当然了,真实的场景远远远比这复杂.本文的目的仅限于让大家 ...

  2. Docker搭建ElasticSearch+Redis+Logstash+Filebeat日志分析系统

    一.系统的基本架构 在以前的博客中有介绍过在物理机上搭建ELK日志分析系统,有兴趣的朋友可以看一看-------------->>链接戳我<<.这篇博客将介绍如何使用Docke ...

  3. 【深度学习系列】用PaddlePaddle进行车牌识别(二)

    上节我们讲了第一部分,如何用生成简易的车牌,这节课中我们会用PaddlePaddle来识别生成的车牌. 数据读取 在上一节生成车牌时,我们可以分别生成训练数据和测试数据,方法如下(完整代码在这里): ...

  4. C#组件系列——又一款日志组件:Elmah的学习和分享

    前言:好久没动笔了,都有点生疏,12月都要接近尾声,可是这月连一篇的产出都没有,不能坏了“规矩”,今天还是来写一篇.最近个把月确实很忙,不过每天早上还是会抽空来园子里逛逛.一如既往,园子里每年这个时候 ...

  5. 学JAVA第五天,今天困得要死

    好不容易坚持到第五天了,继续继续!!! 今天老师没有讲JAVA的for循环,倒是讲了HTML的相关内容: 讲了JAVA代码怎么在HTML中运行. 只要在HTML加入这个 background-colo ...

  6. 结合JDK源码看设计模式——享元模式

    前言 在说享元模式之前,你一定见到过这样的面试题 public class Test { public static void main(String[] args) { Integer a=Inte ...

  7. Chrome下面查看placeholder的样式

    在Chrome下面默认是看不到placeholder的样式的 我们可以通过在当前页面的开发者工具里面的settings 勾选下面这个选项,就可以看到了 下面是效果

  8. Vue开篇之Vue-cli搭建项目

    介绍 Vue.js是一套构建用户界面的渐进式框架.Vue 只关注视图层,采用自底向上增量开发的设计.Vue 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件. 第一步:安装node ...

  9. ajax请求code:200但是进入error函数

    1.dataType 由json改成text; 2.后台报错了

  10. 调用android的getColor()方法出现 java.lang.NoSuchMethodError: android.content.res.Resources.getColor

    1.java.lang.NoSuchMethodError: android.content.res.Resources.getDrawable/getColor或者 java.lang.NoSuch ...