做嵌入式开发对内存泄露很敏感,而对泄露的位置更加关注。本文记录一下从网上搜集的/proc/meminfo各参数的含义。还不完整,待补完。

本文地址:https://segmentfault.com/a/1190000007114036

Reference

关于/proc/meminfo的理解
linux/Documentation/filesystems/proc.txt

说明

以下项目并不是每一个 Linux 系统上都有的,根据你的 Linux 设计和版本,可能多出或者少了某些项。
参考资料中的第二项是最新的 Linux 文档

项目名 说明
MemTotal 所有可用的 RAM 大小,物理内存减去预留位和内核使用
MemFree LowFree + HighFree
Buffers 用来给块设备做缓存的大小(文件系统的 metadata, tracking in-flight pages)
Cached 文件的缓冲区大小
SwapCached 已经被交换出来的内存。与 I/O 相关
Active 经常(最近)被使用的内存
Inactive 最近不常使用的内存。这很容易被系统移做他用
Active(anon) ?
Inactive(anon) ?
Unevictable ?
Mlocked ?
HighTotal 所有在 860MB(0x35C00000)以上的空间。主要是用户空间程序或缓存页
LowTotal 860MB 以下的空间。如果该空间用完了,系统可能会异常
HighFree 860MB 以上空间的可用空间
LowFree 860MB 以下空间的可用空间
SwapTotal 交换空间总和
SwapFree RAM 暂存在 Swap 中的大小
Dirty 等待写回的数据大小
WriteBack 正在写回的数据大小
Mapped 映射文件大小
AnonPages 映射到用户空间的非文件页表大小
Shmem ?
Slab 内核数据结构缓存
SReclaimable Slab 的一部分。当内存压力大时,可以 reclaim
SUnreclaim 不可以 reclaim 的 Slab
KernelStack ?
PageTables 最底层的页表的内存空间
NFS_Unstable 已经发给 NFS 服务器、但是尚未被确认(committed)写入到稳定存储的页表
Bonce ?
WritebackTmp Memory used by FUSE for temporary writeback buffers
CommitLimit CommitLimit = ('vm.overcommit_ratio' * Physical RAM)
Committed_AS The amount of memory presently allocated on the system.(系统中目前分配了的内存?)
VmallocTotal vmalloc 内存大小
VmallocUsed 已被使用的虚拟内存大小
VmallocChunk 在 vmalloc 区域中可用的最大的连续内存块的大小

Linux 中 /proc/meminfo 的含义的更多相关文章

  1. linux 中/proc 详解

    proc 文件系统 在Linux中有额外的机制可以为内核和内核模块将信息发送给进程-- /proc 文件系统.最初设计的目的是允许更方便的对进程信息进行访问(因此得名),现在它被每一个有有趣的东西报告 ...

  2. Linux中/proc目录下文件详解

    转载于:http://blog.chinaunix.net/uid-10449864-id-2956854.html Linux中/proc目录下文件详解(一)/proc文件系统下的多种文件提供的系统 ...

  3. Linux中/proc目录下文件详解(转贴)

      转载:http://www.sudu.cn/info/index.php?op=article&id=302529   Linux中/proc目录下文件详解(一) 声明:可以自由转载本文, ...

  4. Android中proc/meminfo的详解(原)

    今天在写到获取手机可用内存空间的总大小的时候,通过下面的方法去获取的时候,发现该方法最低支持的版本是16,这显然是不可取的. public static long getTotalSpace(Cont ...

  5. Linux cat /proc/meminfo 输出分析

    $cat /proc/meminfoMemTotal:        2052440 kB //总内存MemFree:           50004 kB //空闲内存Buffers:        ...

  6. Linux中 /proc/[pid] 目录各文件简析

    Linux 内核提供了一种通过 proc 文件系统,在运行时访问内核内部数据结构.改变内核设置的机制.proc 文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间.它以文件系统的方式为访问系 ...

  7. linux中proc文件系统 -- ldd3读书笔记

    1./proc 文件系统概述 /proc 文件系统是由软件创建,被内核用来向外界报告信息的一个文件系统./proc 下面的每一个文件都和一个内核函数相关联,当文件的被读取时,与之对应的内核函数用于产生 ...

  8. Linux中/proc/[pid]/status详细说明

    [root@localhost ~]# cat /proc/self/status Name: cat State: R (running) SleepAVG: 88% Tgid: 5783 Pid: ...

  9. Linux 中 /proc/kcore为啥如此之大

    What Is /proc/kcore?None of the files in /proc are really there--they're all, "pretend," f ...

随机推荐

  1. 在vue-cli 3中, 给stylus、sass样式传入共享的全局变量

    在开发中有时,我们定义了大量的基础样式变量,例如: 大量的vue单文件组件会用到这些变量,每个组件都引人一次又太麻烦.全局引入是个不错的方法,于是,在main.js 中引入variable.styl文 ...

  2. linux学习总结--linux100day(day2)

    Linux中的哲学--一切皆文件 为了便于操作,我们可以使用secureCRT或Xshell连接到我们的虚拟机. 要用远程工具连接到虚拟机上,我们只需要打开虚拟机上的ssh服务,在xshell中填写主 ...

  3. c语言ld returned 1 exit status😂

    在复习c语言过程中遇到, 问题:reverseLinkedList.exe: Permission denied collect2.exe: error: ld returned 1 exit sta ...

  4. java中安全的单例与不安全的单例

    java中安全的单例与不安全的单例 1.内部静态类(安全的) public class Singleton { private static class SingletonHolder{ privat ...

  5. git之旅,畅游git的世界

    今天小铭酱带大家探索一下git的奥秘! 1.初步探索 首先我在一个空的文件夹新建了一个名叫hello.html文件,文件内容只有一句话“hello git”.我们先引入git,看看git能为我们它能干 ...

  6. Spring MVC内容协商实现原理及自定义配置【享学Spring MVC】

    每篇一句 在绝对力量面前,一切技巧都是浮云 前言 上文 介绍了Http内容协商的一些概念,以及Spring MVC内置的4种协商方式使用介绍.本文主要针对Spring MVC内容协商方式:从步骤.原理 ...

  7. mybatis 源码分析(六)StatementHandler 主体结构分析

    分析到这里的时候,mybatis 初始化.接口.事务.缓存等主要功能都已经讲完了,现在就还剩下 StatementHandler 这个真正干活的家伙没有分析了:所以接下来的博客内容主要和数据库的关系比 ...

  8. HDU 5057

    题意略. 开始想开一个三维的树状数组,但是一算空间不够,正解是离线操作,按位来计算,一共是10位,所以总共是扫10遍,第i遍只处理第i位的询问, 注意在修改后,要把当前这个位的值存下来(这就是cur数 ...

  9. Javaweb之国际化

    Javaweb之国际化 一.前言 软件的本地化:一个软件在某个国家或地区使用时,采用该国家或地区的语言,数字,货币,日期等习惯. 软件的国际化:软件开发时,让它能支持多个国家和地区的本地化应用.使得应 ...

  10. three.js实现球体地球2018年全球GDP前十国家标记

    概况如下: 1.SphereGeometry实现自转的地球: 2.THREE.Math.degToRad,Math.sin,Math.cos实现地图经纬度与三位坐标x,y,z之间的转换: 3.Imag ...