一、free命令输出:
含义:
Mem :表示物理内存统计
Swap :表示硬盘上交换分区的使用情况
total :总内存容量
used :被应用程序所使用的内存容量
free :没有被任何东西所使用的内存容量
shared :多个进程共享的内存容量。
buff/cache :被借用来当缓存的容量(应用程序需要时,可以立刻还给应用程序)
available :随时可以被应用程序调用的容量(可用内存)
总内存容量(total)=被使用的内存(used)+未使用内存(free)+磁盘缓存(buff/cache)
即:total=used+free+buff/cache
二、free数据来源
通过man free可以查看free命令手册
从 free 的手册中,可以看到 buffer 和 cache 的说明
- Buffers 是内核缓冲区用到的内存,对应的是 /proc/meminfo 中的 Buffers 值。
- Cache 是内核页缓存和 Slab 用到的内存,对应的是 /proc/meminfo 中的 Cached 与 SReclaimable 之和。
查看/proc/meminfo信息
通过对比,可以发现free查看的内存情况和/proc/meminfo对应关系如下:
free:MemFree
used:MemTotal-MemFree-buffer/cache
buffer/cache:Buffers+Cached+SReclaimable