free命令详解

free命令可以显示Linux系统中空闲的、已用的物理内存及swap内存以及被内核使用的buffer。我们本篇学习如何使用free命令监控系统的内存情况。

一般使用free –m方式查看内存占用情况(兆为单位),free同样提供给我们b(B),-k(KB),-m(MB),-g(GB)和tera(TB)这些单位,要显示我们想要的单位,只要选择一个并在free后面跟上,下面是一个以MB为单位的输出样例,命令显示结果为:

[root@tianyun ~]# free –m

                      total            used          free    shared   buffers   cached

Mem:                 1002            920           81        0      42     375

-/+ buffers/cache:                       502          500

Swap:                1020              3          1017

这个技巧同样适用于-b,-k,-g以及-tera选项。

free同样提供-h选项,这意味着适于人类可读,但是系统上可能并不存在-h选项,已被-m取代。与其他选项的最大不同是-h选项会在数字后面加上适于人类可读的单位。具体如下所示:

[root@tianyun ~]# free –h

        total       used     free   shared    buffers   cached

Mem:    1.0G      929M     72M      0B     43M     383M

-/+ buffers/cache

Swap:    1.0G       3.3M    1.G

如看到的,在1.0数字后这里是G(GB)字母。当数字并没有达到GB时,free足够聪明来知道并在每个数字后面跟上合适的单位。

但系统实际可用内存并不是free的部分,而系统实际内存占用以及可用内存有着加减关系。

[root@tianyun ~]# free

total    used   free  shared   buffers   cached

Mem     128     119    8      0      1        22

-/+buffers/cache:     95   32

swap:    255       0    255

上述结果中各个参数的详细说明如下:

total

内存总数

used

已经使用的内存数

free

空闲的内存数

shared

多个进程共享的内存总额

buffers buffer cache 和cache page cache

磁盘缓存的大小

-buffers/cache

(已用)的内存数,即used – buffers – cached

+buffers/cache

(可用)的内存数,即free+buffers+cached

由此得出结论,可用内存的计算公式为

   可用内存=free+buffers+cached

free命令参数有:-b/k/m/g 分别以bytes/kilobytes/megabytes/gigaby为单位显示

参数

含义

-h

以人类可读的方式输出统计结果

-t

使用该选项会多显示一行标题为Total的统计信息,该行统计的是(used、free、total、的总和)此Total与total不同

-o(小写)

禁止显示第二行的缓冲区调整值(-/+buffers/cache)

-s

每个多少秒自动刷新结果

-c

与-s配合使用,控制刷新结果次数

-l

显示高低内存的统计详情

-a

显示可用内存

-V

显示版本号

作为一个状态检查工具,最好的统计内存利用率的方式是使用延迟间隔,这样的话,可以使用-s选项后面跟上我们想要间隔的N秒数。可以在后面合并几个选项来使输出满足需求。假如想要每3秒统计一次内存利用率并且适于人类可读,具体举例如下所示:

[root@tianyun ~]# free –hs3

        total        used      free     shared    buffers     cached

Mem:    1.0G        916M    85M       0B     47M       361M

-/+ buffers/cache:       508M    494M

Swap:    1.0G        3.4M     1.0G

        total         used      free    shared    buffers     cached

Mem:    1.0G         919M    83M     0B      47M        361M

-/+ buffers/cache:        510M    491M

Swap:    1.0G          3.4M     1.0G

         total          used      free    shared    buffers    cached

Mem:      1.0G        908M       94M    0B      47M      361M

-/+ buffers/cache:

Swap:      1.0G       3.4M         1.0G

posted @ 2019-01-14 11:30  莫孟林  阅读(1135)  评论(0编辑  收藏  举报