free/available区别

Share on facebook
Share on google
Share on twitter
Share on linkedin

free -h

先说明一些基本概念
第一列
Mem: 内存的使用信息
Swap: 交换空间的使用信息
第一行
total: 系统总的可用物理内存大小
used: 已被使用的物理内存大小
free: 还有多少物理内存可用
shared: 被共享使用的物理内存大小
buff/cache 被 buffer 和 cache 使用的物理内存大小
available 还可以被 应用程序 使用的物理内存大小

其中有两个概念需要注意

free 与 available 的区别

free 是真正尚未被使用的物理内存数量。
available 是应用程序认为可用内存数量,available = free + buffer + cache (注:只是大概的计算方法)

Linux 为了提升读写性能,会消耗一部分内存资源缓存磁盘数据,对于内核来说,buffer 和 cache 其实都属于已经被使用的内存。但当应用程序申请内存时,如果 free 内存不够,内核就会回收 buffer 和 cache 的内存来满足应用程序的请求。这就是稍后要说明的 buffer 和 cache。