一. 作用
free命令可以显示当前系统未使用的和已使用的内存数目,还可以显示被内核使用的内存缓冲区。
二. 语法
free [选项]
三. 选项
默认情况下,即在没有选项的情况下,"free"命令显示内存的使用信息。默认按照k(b)的计数单位统计。

- total:表示 总计物理内存的大小。
- used:表示 已使用多少。
- free:表示 可用内存多少。
- Shared:表示多个进程共享的内存总额。
- Buffers/cached:表示 磁盘缓存的大小。
第一列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。
四. 选项
在linux环境下,使用man命令、--help命令、info命令可查询free命令的所有选项,以--help为例,如:

现在对free命令的所有选项分别进行解释:
注意:free命令的选项区分大小写,请认真对照上图中是大写还是小写
1. free -b:以bytes为单位来显示内存的信息。

2. free -b:以kb为单位来显示内存的信息。

3. free -m:以m为单位来显示内存的信息。

4. free -g:以G为单位来显示内存的信息。

5. free -h:以适于人类可读方式显示内存信息。-h与其他命令最大不同是-h选项会在数字后面加上适于人类可读的单位

如我们一起看到的,在1,0数字后这里是G(GB)字母。当数字并没有达到GB时,free足够聪明来知道并在每个数字后面跟上合适的单位。后面的M - 数字929告诉我们它有929MB(译注: 原文为929 number tell us its 969 Megabytes,这里应该为输入错误)。
6. free -l:显示高低内存的利用率。

7. free -t:显示linux的全部内存。
如果我们需要每列的总计信息,我们可以在 free 命令后面跟上 -t 选项。这会在字底部额外加入一行显示。

8. free -s N:表示每隔N秒打印一次内存信息,直到用ctrl+c结束

8. free -c N:表示重复打印内存信息N次

8. free -w :wide output,不知道啥意思,后续补充吧

9. free -V :显示版本信息

三. 选项组合
free命令的选项是可以组合的,举例如下
1. free -hs 3: 以人类可读的方式,每隔3s打印一次内存信息,直到ctrl+c结束

2.free -s 2 -c 4:每隔2秒打印一次内存信息,共打印4次

















