free命令详解-1
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 |
显示版本号 |