计算真实可用内存

---恢复内容开始---

free命令显示了Linux系统中物理内存、交换分区的使用统计信息。

可用内存 = free + buffers + cached

第一行为: 物理内存使用统计:

标题 说明
total 物理内存总量total=used+free
used 已使用内存总量,包含引用使用量+buffer+cached
free 空闲内存总量
shared 共享内存总量
buffers 块设备所占用的缓存
cached 普通文件数据占用的缓存
available 当前可用内存总量,不包含虚拟内存

第二行为: -/+ buffers/cache 中只有两列used和free有值,它们是物理内存的调整值: 

标题 说明
used 已使用内存(used)减去buffer和cached之后的内存,也就是应用正在使用的内存总量
free 空闲内存加上buffer和cached之后的内存,也就是真正的可用内存总量

第三行为: 交换分区使用统计:

标题 说明
total 交换分区内存总量 
used 正在使用的交换分区内存
free 空闲交换分区内存 

在上面这些指标中,我们需要注意的是在下面这些情况下,系统是正常的,不需要担心

  空闲内存free接近于0
  已0使用内存used接近于total
  可用内存(free+buffers/cache)占total的 20% 以上
  交换分区内存 swap 没有发生改变
下面情况说明内存过低,需要注意!

  可用内存(free+buffers/cache)过低,接近于0的时候
  交换分区内存占用swap used增加或者有波动
  dmesg | grep oom-killer显示有OutOfMemory-killer正在运行

常用参数
-b/k/m/g   以bytes/kilobytes/megabytes/gigabytes为单位显示结果
-h        以人类可读的方式输出统计结果
-t      使用该选项会多显示一行标题为Total的统计信息
-o        禁止显示第二行的缓冲区调整值
-s        每隔多少秒自动刷新结果
-c     与-s配合使用,控制刷新结果次数
-l      显示高低内存的统计详情
-a       显示可用内存
-V       显示版本号

原文地址:https://www.cnblogs.com/52py/p/7290251.html