Linux 下meminfo结点解析

通过cat /proc/meminfo可以看到内存的使用情况

重点域解析

MemTotal:伙伴系统总内存大小(totalram_pages),这里总内存不包含预留内存(memblock_reserve),以及在调用free_all_bootmem释放内存到伙伴系统之前,通过memblock_alloc分配的内存,如果想回到伙伴系统,需要调用memblock_free_late

MemFree:伙伴系统中剩余内存大小,通过NR_FREE_PAGES获取

MemAvailable:系统可以用内存大小

MemAvailable = memfree + pagecache/2 + SLAB_RECLAIMABLE/2 - wmark_low 也就是算上了page cache和slab 可回收部分,然后减去最低水位值,MemAvailable 是保证userspace thread不会生内存回收的最高可用内存

Buffers:表示块设备(block device)所占用的缓存页,包括直接读写块设备、以及文件系统元数据(metadata)如SuperBlock所使用的缓存页

Cached: page cache + shmem cache + swap cache 

SwapCached:匿名内存swapcache大小

Active : active file + active anon mem

inactive :inactive file + inactive anon mem 

Active/inactive(anon): 匿名内存(malloc) + tmpfs file大小(而tmpfs又会体现在shmem和Cached,所以会存在重复计算)

Unevictable :不可以收回内存大小,一般userspace调用mlock以后,内存不可以回收

Mlocked:处于锁定状态内存.

Dirty :脏页状态

AnonPages:匿名页面总大小(包含AnonHugePages)

AnonHugePages:匿名大页内存

Mapped:处于映射状态文件页面大小

Shmem:shmem使用内存大小(shmem + tmpfs)

Slab:slab使用内存 = SReclaimable + SUnreclaim

SReclaimable: slab可回收内存大小

SUnreclaim:不可回收大小,如果这个值很大,则可认为有内存泄露

KernelStack:系统所有进程的内核堆栈大小

PageTables:系统所有进程页表大小

VmallocTotal: vmalloc虚拟地址空间大小

CmaTotal:cma内存总大小

CmaFree:剩余CMA内存大小

DirectMap4k:       采用直接映射的内存大小

DirectMap2M:     采用直接映射PMD对应的内存大小

DirectMap1G:    采用直接映射PGD对应的内存大小
 

 

free 指令的Used:

mem_used  = kb_main_total - kb_main_free - kb_page_cache - kb_slab_reclaimable - kb_main_buffers;

                    = slab_unreclaim + vmalloc + alloc_page + kernel_stack + page_table + anon_page 

user buffer = buffers + Active + Inactive + Unevictable + HugePages_Total *Hugepagesize

kernel buffer = slab + vmalloc + kernel_stack + page_table + alloc_page = used + slab_reclaimable - AnonPages

 

 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值