/proc/meminfo 解析

proc(5) - Linux manual page (man7.org)
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/deployment_guide/s2-proc-meminfo

/proc/meminfo
该文件统计了系统内存的使用情况。free(1) 通过它来报告freeused memory 以及内核使用的sharedbuffers 内存使用情况。

Entity Description Requirements
MemTotal 总可用内存 (物理RAM减去一些保留位和内核二进制代码)
MemFree LowFree + HighFree
MemAvailable 不交换情况下,可用于启动新应用的可用内存。
Buffers 用于磁盘原始数据块的缓冲/临时存储,通常不大 (20 MB or so).
Cached 内存上,用于缓存从磁盘读取的文件 (the page cache)。不包含SwapCached
SwapCached 被swap out的内存被swap回来,但是仍然在swap文件内。(如果内存压力高,这些内存页将不再被swap out,因为它们已经在swap文件中。这将节省I/O.)
Active 最近使用过的内存,除非绝对必要,否则通常不会回收。
Inactive 最近使用较少的内存。它将可能被用于其他用途。
Active(anon)
Inactive(anon)
Active(file)
Inactive(file)
Unevictable Linux 2.6.28 to 2.6.30
CONFIG_UNEVICTABLE_LRU
Mlocked Linux 2.6.28 to 2.6.30
CONFIG_UNEVICTABLE_LRU
SwapTotal Swap 总和。
SwapFree 没有在使用的swap空间。
Dirty 等待写回磁盘的内存
Writeback 正在写回磁盘的内存
AnonPages 映射到用户空间页表的,没有文件的内存页
Mapped 映射到内存的文件 (通过 mmap(2)), 比如,库文件libraries。
Shmem tmpfs(5) 文件系统消费的内存。
Slab 内核中的数据结构缓存 (See slabinfo(5).)
SReclaimable Slab的一部分,可以被回收,比如 caches
SUnreclaim Slab的一部分,无法回收
KernelStack 分配给内核堆栈的内存
PageTables 专用于 lowest level 页表的内存
NFS_Unstable 发送到服务器的NFS pages,但是还没有提交到稳定存储
Bounce 用于块设备 "bounce buffers".
WritebackTmp FUSE的回写buffer内存
CommitLimit 当前系统可分配内存总量(kb表示)。需开启overcommit(/proc/sys/vm/overcommit_memory 设置为 2)。Limit值根据/proc/sys/vm/overcommit_memory计算。更多信息,参见内核源文件Documentation/vm/overcommit-accounting.rst
Committed_AS 当前系统已经分配的内存。Committed内存是所有进程分配的内存之和,即便还没有被used。 一个进程分配了1GB内存(通过 malloc(3)or类似),但是仅创建了300MB,将仅显示使用300MB内存,即使它已经拥有了整个1GB内存的地址空间。已经被committed的1GB内存可以被分配内存的应用随时使用。如果开启了严格的 overcommit (mode 2 in /proc/sys/vm/overcommit_memory),则不允许超过CommitLimit分配。如果需要保证在内存成功分配后,进程不会因内存不足而失败,则这一点非常有用。
VmallocTotal vmalloc 内存总计
VmallocUsed 使用的 vmalloc 总计。
Linux 4.4后,不再计算。参见 /proc/vmallocinfo
VmallocChunk vmalloc的最大空闲连续块。
Linux 4.4后,不再计算。参见 /proc/vmallocinfo
HardwareCorrupted CONFIG_MEMORY_FAILURE
AnonHugePages 映射到用户空间页表的 Non-file backed huge pages CONFIG_TRANSPARENT_HUGEPAGE
HugePages_Total HugePages池的总容量 CONFIG_HUGETLB_PAGE
HugePages_Free 池内还没有分配的 huge pages 的数量 CONFIG_HUGETLB_PAGE
HugePages_Rsvd 已承诺分配但尚未分配的huge pages 数量。这些保留的huge pages保证应用程序能够在出错时还能从池中可分配到huge pages。 CONFIG_HUGETLB_PAGE
HugePages_Surp 大于/proc/sys/vm/nr_hugepages设置的池内huge pages的数量。最大值受限于/proc/sys/vm/nr_overcommit_hugepages CONFIG_HUGETLB_PAGE
Hugepagesize Huge pages 的尺寸 CONFIG_HUGETLB_PAGE
DirectMap4k
DirectMap2M CONFIG_X86_64 or CONFIG_X86_PAE
DirectMap4M CONFIG_X86_64 or CONFIG_X86_PAE
DirectMap1G CONFIG_X86_64 & CONFIG_X86_DIRECT_GBPAGES
Entity Description Requirements
HighTotal (>= Linux 2.6.19) Highmem总和。Highmem是860 MB以上的所有物理内存。 Highmem用于用户空间程序,或page cache。内存访问该内存需要使用tricks,所以比访问lowmem慢。 CONFIG_HIGHMEM
HighFree (>= Linux 2.6.19) 空闲的highmem。 CONFIG_HIGHMEM
LowTotal (>= Linux 2.6.19) Lowmem总和。Lowmem包含了highmem的功能,还用于kernel存放它的数据结构。Among many other things, it is where everything from Slab is allocated. Bad things happen when you're out of lowmem. CONFIG_HIGHMEM
LowFree (>= Linux 2.6.19) 空闲的lowmem. CONFIG_HIGHMEM
MmapCopy CONFIG_MMU
KReclaimable Kernel allocations that the kernel will attempt to reclaim under memory pressure. Includes SReclaimable (below), and other direct allocations with a shrinker.
Quicklists CONFIG_QUICKLIST
LazyFree Shows the amount of memory marked by madvise(2) MADV_FREE.
ShmemHugePages Memory used by shared memory (shmem) and tmpfs(5) allocated with huge pages. CONFIG_TRANSPARENT_HUGEPAGE
ShmemPmdMapped Shared memory mapped into user space with huge pages. CONFIG_TRANSPARENT_HUGEPAGE
CmaTotal Total CMA (Contiguous Memory Allocator) pages. CONFIG_CMA
CmaFree Free CMA (Contiguous Memory Allocator) pages. ) CONFIG_CMA
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,657评论 6 505
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,889评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,057评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,509评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,562评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,443评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,251评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,129评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,561评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,779评论 3 335
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,902评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,621评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,220评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,838评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,971评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,025评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,843评论 2 354

推荐阅读更多精彩内容

  • OCI Runtime spec 运行时规范 一 概述 参考 OCI 运行时规范目的是为了标准化一个容器的配置、执...
    Xiao_Yang阅读 4,006评论 0 2
  • 何为信号 信号(signal)用于通知进程发生了某种情况。进程有以下3种处理信号的方式: 忽略信号。有些信号表示硬...
    R0lan阅读 1,348评论 0 1
  • 说明本次redis集群安装在rhel6.8 64位机器上,redis版本为3.2.8,redis的gem文件版本为...
    读或写阅读 14,738评论 3 9
  • 表情是什么,我认为表情就是表现出来的情绪。表情可以传达很多信息。高兴了当然就笑了,难过就哭了。两者是相互影响密不可...
    Persistenc_6aea阅读 125,019评论 2 7
  • 16宿命:用概率思维提高你的胜算 以前的我是风险厌恶者,不喜欢去冒险,但是人生放弃了冒险,也就放弃了无数的可能。 ...
    yichen大刀阅读 6,049评论 0 4