1. 概述

free 命令是一个显示系统中空闲和已用内存大小的工具。free 命令的输出和 top 命令相似。大多数Linux发行版已经含有 free 命令。

  1. 命令查看方式

1.查询命令:只需在控制台输入free 即可,不带选项运行会显示一个以KB为单位的默认输出。

    2.以兆为单位查询

$ free -m

centos free命令解释 free linux命令_物理内存

free 同样提供给我们 b (B), -k (KB), -m (MB), -g (GB) and –tera (TB)这些单位给予显示。

    3.以适合人类可读方式显示内存信息

    Free -h

centos free命令解释 free linux命令_centos free命令解释_02

4.查询例子

centos free命令解释 free linux命令_centos free命令解释_03

1.第一行Mem:物理内存

Total:总量

Used:已使用的内存

Free:空闲可使用的内存

Shared:共享的,在linux里面有很多共享内存,比如一个libc库,很多程序调用,但实际只存一份

Buffers: 缓存,可回收

Cached: 缓存,可回收

total = used + free

本例中:total(8009552)=used(7790784)+free(218768)

Buffers&cached的区别

buffers是指用来给块设备做的缓冲大小,他只记录文件系统的metadata以及 tracking in-flight pages.

cached是用来给文件做缓冲

那就是说:buffers是用来存储,目录里面有什么内容,权限等等。而cached直接用来记忆我们打开的文件

2.第二行 buffer和cached

(-buffers/cache) used内存数:第一部分Mem行中的 used – buffers – cached

已用内存=used(7790784)-buffers(472)-cached(631444)=7158868;

可见-buffers/cache反映的是被程序实实在在吃掉的内存,已经使用掉的内存

(+buffers/cache) free内存数: 第一部分Mem行中的 free + buffers + cached

可用内存=Free(218768)+buffers(472)+cached(631444)=850684()

+buffers/cache反映的是可以挪用的内存总数,还可以使用内存数

 

第一行和第二行的区别是:

第一行是从os的角度来分析,因为对于OS,buffers/cached 都是属于被使用,所以他的可用内存是218768KB,已用内存是7790784KB,其中包括,内核(OS)使用+Application(X, oracle,etc)使用的+buffers+cached.

第二行是:是从应用程序角度来看,对于应用程序来说,buffers/cached 是等于可用的,因为buffer/cached是为了提高文件读取的性能,当应用程序需在用到内存的时候,buffer/cached会很快地被回收。可用内存=系统free memory+buffers+cached。

如果是应用服务器的话,一般只看第二行,+buffers/cache,即对应用程序来说free的内存太少了,也是该考虑优化程序或加内存了。

3.第三行 swap 虚拟内存

Total

Used

Free

当你看见 buffer/cache 的空闲空间低或者 swap 的空闲空间低,说明内存需要升级了。这意味这内存利用率很高。请注意 shared(共享)内存列应该被忽略 ,因为它已经被废弃了。

何时使用swap:

系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap空间中,等到那些程序要运行时,再从Swap中获取这些空间。总之:系统总是在物理内存不够时,才进行Swap交换。

命令行下执行swapoff -a,关闭swap

命令行下执行swapon -a,开启 swap

 

4.centos7的free界面

free -h

centos free命令解释 free linux命令_centos free命令解释_04

第一行:

total:内存总大小。

used:使用了多少内存。

free:除了buff/cache剩余了多少内存。

shared:共享内存。

buff/cache:缓冲、缓存区内存数。

available:真实剩余的可用内存数。

关系:total = used + free + buff/cache

关系:available 包含 free 和 buff/cache 剩余部分,则是真实剩余内存。