一、使用格式
语法格式:free [-b | -k | -m] [-o] [-s delay ] [-t] [-l] [-V]
[-b | -k | -m] :选择数据的单位-b字节、-k千字节、-m兆字节(也就是我平时的mb)
[-o]:不显示-/+ buffers/cache:行
[-s delay ]:延时。单位是秒
[-t]:显示total的统计行
[-l]:显示各个项目最高和最低的静态内存
[-V]:版本号不解释
二、实例分析
free命令尽管不难。可是可以熟练使用它是非常重要的。
由于在非常多意想不到的情况下。它总可以为我们提供定位问题的重要信息。
我们用free -m -t -l 来显示一个最详尽的结果。个人感觉一般都是用free -m的比較多,看自己习惯吧。
上面的列属性英文感觉非常清晰了,所以不再进行解释啦。以下主要对行属性进行解释:
Mem:物理内存
Low:内核使用的物理内存
High:用户使用的物理内存(Linux kernel将内存分为了内核区和用户区详细划分规则有1:3、2:2等等详细看内核版本号)
-/+ buffers/cache:表示物理内存的缓存统计
swap:交换区
Total:就是total=men+swap
如今每一项基本都能看懂了,然后接下来我们来分析。
分析的话最重要是经验的积累。
假设没有没有实际操作经验,感觉要把什么内存机制、块设备的真正弄明确是比較困难的。
我们接下来将介绍一些实际使用的时候。重点关注的几个值。另一个综合的衡量指标。
1)men行,total属性告诉我们这个系统有1G+内存
2)-/+ buffers/cache行,free属性告诉我们应用程序还有1002MB能够使用
3)swap行。used属性告诉我们交换分区还没进行使用,内存很充足。
最后以下提供一个小经验公式:
S=应用程序可用内存/系统物理内存
S>70%:内存资源很充分
S<20%:内存自由严重紧缺
20%<S<70%:基本满足需求
注:这个公式不提倡在实际中使用,感觉结合bash脚本实现一个自己主动检測和记录会比較好一些(实习的时候就写过o(∩_∩)o...哈哈)