一. 作用
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次