Diff of vmstat vs. free:
命令 | 文件 | 一个东西 |
vmstat -s -S M vmstat -S K | /proc/vmstat | swap cache |
free -m | /proc/meminfo | Cached |
Diff of buffers vs. cached:
buffer's policy is first-in, first-out
cache's policy is Least Recently Used
缓冲区(Buffers)和缓存(Cached)之间的区别
缓冲区与特定的块设备相关联,包括文件系统元数据的缓存以及动态页面的跟踪。缓存仅包含驻留的文件数据。也就是说,缓冲区记住目录中的内容,文件权限,并跟踪正在被特定块设备写入或读取的内存。缓存仅包含文件本身的内容。
Diff of free vs. available:
旧版本操作系统:
centos6:available=free+buffers+cached
也就是说看-/+ buffers/cache:行的free列
新版本操作系统:
Cached 包含 page cache中不可释放的内存,例如:共享内存段(shared memory segments)、tmpfs和ramfs。
不包含 可回收的slab内存,而slab会在有大量文件的空闲系统上占用大量的系统内存。
Centos7:直接查看available内存即可。就不用将free+buffers/cached了。
真正的低内存,警告信号:
available memory (or "free + buffers/cache") 接近0
swap 使用增加或出现波动
dmesg | grep oom-killer shows the OutOfMemory-killer at work
验证 free available buff/cache的使用情况
# free -m
total used free shared buff/cache available
Mem: 15771 9767 1397 24 4606 5570
Swap: 7999 117 7882
##关闭Swap,其used部分分配到了Mem上
# swapoff -a
# free -m
total used free shared buff/cache available
Mem: 15771 9863 1299 26 4609 5472
Swap: 0 0 0