free用于查看内存相关的使用情况,常用的参数就是指定输出数据的单位是k/m/g,free命令的所有输出值都是从/proc/meminfo中读出。
[root@master ~]# free -m
1 2 3 4 5 6
total used free shared buffers cached
1 Mem: 987 396 591 0 72 131
2 -/+ buffers/cache: 192 795
3 Swap: 1983 0 1983
输出信息解释,我已在各行各列表上序号,方便讲述:
第一行Mem
memory.total,[1,1]:内存总量
memory.used,[1,2]:内存使用量
memory.free,[1,3]:内存空闲量
memory.shared,[1,4]:多个进程共享的内存量,已废弃的指标
memory.buffers,[1,5]:用于OS buffer的内存量
memory.cached,[1,6]:用于OS cache的内存量
其中memory.total,[1,1]=memory.used,[1,2]+memory.free,[1,3]
第二行-/+ buffers/cache
- buffers/cache,[2,2]:应用程序认为系统被用掉多少内存
+ buffers/cache,[2,3]:应用程序认为系统还有多少内存
其中
- buffers/cache,[2,2]=memory.used,[1,2]-memory.buffers,[1,5]-memory.cached,[1,6]
+ buffers/cache,[2,3]=memory.free,[1,3]+memory.buffers,[1,5]+memory.cached,[1,6]
第三行Swap
Swap.total,[3,1]:swap总量
Swap.used,[3,2]:swap使用量
Swap.free,[3,3]:swap剩余量