目录
Free命令有什么用
各项名词解释
服务器实际可用内存看哪个值
为什么free2是实际可用内存
结论
Free命令语法
Free命令有什么用
熟悉的都知道,这是用来Linux主机内存使用情况的。如下:
各项名词解释
可以把上图看为3部分,分别是 Mem部分 和 -/+ buffers/cache部分 ,还有Swap部分
- Mem:表示物理内存统计
- total:表示物理内存总量(total = used + free)
- used:表示总计分配给缓存(包含buffers 与cache )使用的数量,但其中可能部分缓存并未实际使用。
- free:未被分配的内存。
- shared:共享内存,一般系统不会用到,这里也不讨论。
- buffers:系统分配但未被使用的buffers 数量。
- cached:系统分配但未被使用的cache 数量。
- -/+ buffers/cache:表示物理内存的缓存统计
- used2:也就是第一行中的used – buffers-cached 也是实际使用的内存总量。 used2为第二行
- free2= buffers1 + cached1 + free1 。free2为第二行、buffers1等为第一行
- Swap:表示硬盘上交换分区的使用情况,这里我们不去关心。
服务器实际可用内存看哪个值
未被使用的buffers 与cache 和未被分配的内存之和,这就是系统当前实际可用内存。(下图中被红框圈起来的free2)
PS:这里使用了free -m参数,表示以MB为单位显示内存情况
为什么free2是实际可用内存
- 看看free2的组成:
free2= buffers1 + cached1 + free1,也就是包含buffers、cached和free。
- buffers:A buffer is something that has yet to be “written” to disk. (是一种还没有被写到磁盘里的东西)。
- cached:A cache is something that has been “read” from the disk and stored for later use (是一种已经从磁盘里读出来而且被储存起来为了下次使用的东西)。
- free:是完全未被分配的内存。
- buffers和cached的共同点:都是是为了提高文件读取的性能,当应用程序需在用到内存的时候,buffer/cached会很快地被回收。
- buffers、cached和free的共同点:都是能被应用程序使用的内存。
结论
从应用程序的角度来说 实际可用内存 = 系统free memory + buffers + cached = free2
Free命令语法
语法: free [-bkmotV][-s <间隔秒数>]
参数:
- -b 以Byte为单位显示内存使用情况。
- -k 以KB为单位显示内存使用情况。
- -m 以MB为单位显示内存使用情况。
- -o 不显示缓冲区调节列。
- -s <间隔秒数>持续观察内存使用状况。
- -t 显示内存总和列。
- -V 显示版本信息。