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 选项.







网友评论