Free 命令可以查看当前系统的总内存大小以及使用内存的情况。
这个 free
命令显示结果中,其实有一个隐藏的公式:total=used+free+buff/cache
total
:内存总大小
used
:真正使用的实际内存大小。
free
:剩余物理内存大小(没有被分配,纯剩余)。
shard
:共享内存大小,不用关注它。
buff/cache
:分配给 buffer
和 cache
的内存总共有多大。关于 buffer
和 cache
大家也许有一些疑惑,因为字面意思上两者很相近。buffer
和 cache
都是一部分内存,内存的作用就是缓解 cpu
和 io
(如,磁盘)的速度差距的,数据经过 CPU
计算,即将写入磁盘,这时用的内存为 buffer
;CPU
要计算时,需要把数据从磁盘中读出来,临时先放到内存中,这部内存就是 cache
.
available
:系统可使用内存有多大,它包含了 free
。
linux
系统为了让应用跑的更快,会预先分配一部分内存(buffer/cache
)给某些应用使用,虽然这部分内存并没有真正使用,但也已经分配出去了,然而,当另一个服务要使用更多内存时,是可以把这部分预先分配的内存拿来用的。所以还没有被占用的这部分 buffer
和 cache
再加上free就是 available
.
另外 free
命令还可以加 -m
和 -g
选项(分别以 MB
或 GB
为单位)打印内存的使用情况,甚至也支持 -h
选项.
网友评论