free命令用于显示系统内存状态,具体包括系统物理内存、虚拟内存、共享内存和系统缓存等。
free命令的参数选项及说明
-b 以Byte为单位显示内存的使用情况
-m 以MB为单位显示内存的使用情况
-k 以KB为单位显示内存的使用情况
-h 以人类可读的形式显示内存的使用情况*
-t 显示内存总和列
-s<间隔秒数> 根据指定的间隔秒数持续显示内存的使用情况端
-o 不显示系统缓冲区列
[root@cs6 ~]# free #<==不加参数默认显示的是KB为单位,很难读懂。
total used free shared buffers cached
Mem: 2037260 316836 1720424 232 9856 152500
-/+ buffers/cache: 154480 1882780
Swap: 3145724 0 3145724
[root@cs6 ~]# free -k
total used free shared buffers cached
Mem: 2037260 316556 1720704 232 9856 152500
-/+ buffers/cache: 154200 1883060
Swap: 3145724 0 3145724
[root@cs6 ~]# free -m
total used free shared buffers cached
Mem: 1989 309 1680 0 9 148
-/+ buffers/cache: 150 1838
Swap: 3071 0 3071
[root@cs6 ~]# free -h
total used free shared buffers cached
Mem: 1.9G 309M 1.6G 232K 9.6M 148M
-/+ buffers/cache: 150M 1.8G
Swap: 3.0G 0B 3.0G
针对上面的输出,有以下说明。
Linux系统的特性是将不用的物理内存缓存起来,因此9.6MB不是系统的真实剩余内存。
系统真正可用的内存为1.8G。
buffers为写入数据缓冲区。
cache为读取数据的缓存区。
定时查询内存。
[root@cs6 ~]# free -h -s 4
total used free shared buffers cached
Mem: 1.9G 309M 1.6G 232K 9.7M 148M
-/+ buffers/cache: 150M 1.8G
Swap: 3.0G 0B 3.0G
total used free shared buffers cached
Mem: 1.9G 309M 1.6G 232K 9.7M 148M
-/+ buffers/cache: 150M 1.8G
Swap: 3.0G 0B 3.0G