一文解析Linux /proc/meminfo是什么?

下面由linux系统教程栏目给大家介绍Linux 中 /proc/meminfo 的含义,希望对需要的朋友有所帮助!

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

Reference

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

说明

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

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

相关文章

在Linux上编写运行C语言程序,经常会遇到程序崩溃、卡死等异...
git使用小结很多人可能和我一样,起初对git是一无所知的。我...
1. 操作系统环境、安装包准备 宿主机:Max OSX 10.10.5 虚拟...
因为业务系统需求,需要对web服务作nginx代理,在不断的尝试...
Linux模块机制浅析 Linux允许用户通过插入模块,实现干预内核...
一、Hadoop HA的Web页面访问 Hadoop开启HA后,会同时存在两个...