Linux 中 /proc/meminfo 的含义
做嵌入式开发对内存泄露很敏感,而对泄露的位置更加关注。本文记录一下从网上搜集的/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 的含义的更多相关文章
- linux 中/proc 详解
proc 文件系统 在Linux中有额外的机制可以为内核和内核模块将信息发送给进程-- /proc 文件系统.最初设计的目的是允许更方便的对进程信息进行访问(因此得名),现在它被每一个有有趣的东西报告 ...
- Linux中/proc目录下文件详解
转载于:http://blog.chinaunix.net/uid-10449864-id-2956854.html Linux中/proc目录下文件详解(一)/proc文件系统下的多种文件提供的系统 ...
- Linux中/proc目录下文件详解(转贴)
转载:http://www.sudu.cn/info/index.php?op=article&id=302529 Linux中/proc目录下文件详解(一) 声明:可以自由转载本文, ...
- Android中proc/meminfo的详解(原)
今天在写到获取手机可用内存空间的总大小的时候,通过下面的方法去获取的时候,发现该方法最低支持的版本是16,这显然是不可取的. public static long getTotalSpace(Cont ...
- Linux cat /proc/meminfo 输出分析
$cat /proc/meminfoMemTotal: 2052440 kB //总内存MemFree: 50004 kB //空闲内存Buffers: ...
- Linux中 /proc/[pid] 目录各文件简析
Linux 内核提供了一种通过 proc 文件系统,在运行时访问内核内部数据结构.改变内核设置的机制.proc 文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间.它以文件系统的方式为访问系 ...
- linux中proc文件系统 -- ldd3读书笔记
1./proc 文件系统概述 /proc 文件系统是由软件创建,被内核用来向外界报告信息的一个文件系统./proc 下面的每一个文件都和一个内核函数相关联,当文件的被读取时,与之对应的内核函数用于产生 ...
- Linux中/proc/[pid]/status详细说明
[root@localhost ~]# cat /proc/self/status Name: cat State: R (running) SleepAVG: 88% Tgid: 5783 Pid: ...
- Linux 中 /proc/kcore为啥如此之大
What Is /proc/kcore?None of the files in /proc are really there--they're all, "pretend," f ...
随机推荐
- 佳木斯集训Day1
23333第一次写博客 其实在佳木斯集训之前我都已经两三个月没打代码了 在佳木斯的时候前几天真心手生,导致了前几次考试考的很差... D1的考试还是比较良心的,T1是一道大模拟,直接枚举最后几位是00 ...
- hadoop hdfs 分布式存储
1.克隆前的工作 1.配置好网络nat 需要设置静态ip并能通过主机上网 ssh 和 rsync 是必须下载的 2.yum install vim wget rsync ssh 并配 ...
- JavaScript数据结构——图的实现
在计算机科学中,图是一种网络结构的抽象模型,它是一组由边连接的顶点组成.一个图G = (V, E)由以下元素组成: V:一组顶点 E:一组边,连接V中的顶点 下图表示了一个图的结构: 在介绍如何用Ja ...
- 强烈推荐优秀的Vue UI组件库
Vue 是一个轻巧.高性能.可组件化的MVVM库,API简洁明了,上手快.从Vue推出以来,得到众多Web开发者的认可.在公司的Web前端项目开发中,多个项目采用基于Vue的UI组件框架开发,并投入正 ...
- 上传文件时 重新载入页面以获取源代码 http://*/upload.php
今天做一个处理上传文件的接口时碰到这样一个问题, 用的是element-ui的上传组件,但是上传失败, 抓包一看返回的是 重新载入页面以获取源代码 http://*/upload.php 网上搜了一下 ...
- 在使用Lists.transform时,不会直接生成PurchaseOrderVo的集合对象,而是生成一个Function的集合
但是在使用Lists.transform时,不会直接生成PurchaseOrderVo的集合对象,而是生成一个Function的集合,在循环的时候,会去调用apply 生成一个PurchaseOrde ...
- 数据仓库系列之ETL过程和ETL工具
上周因为在处理很多数据源集成的事情一直没有更新系列文章,在这周后开始规律更新.在维度建模中我们已经了解数据仓库中的维度建模方法以及基本要素,在这篇文章中我们将学习了解数据仓库的ETL过程以及实用的ET ...
- error LNK2001: unresolved external symbol "__declspec(dllimport)
作为C++的小白,出现这个错误,是最头痛的.针对这种问题,我搜了网上的相关答案,很多都是在教Project ---> Settings中改动相关设置.我改了之后,问题依旧没有解决.后面查了这种问 ...
- docker安装到基本使用
记录docker概念,安装及入门日常使用 Docker安装(Linux / Debian) 查看官方文档,在Debian上安装Docker,其他平台在这里查阅,以下均在root用户下操作,省去sudo ...
- vim基础命令,查找和替换
vim 基本命令查找和替换 vim简单的命令用着还好.比如插入,删除,查询.但替换就用的比较少.所以,还是需要用的时候拿出来对照者看. 使用vim编辑文件: vim xxx 进入之后的界面叫做命令模式 ...