free -m

第一部分(Mem):

total                     物理内存总量: 258314
used                     已用物理内存量: 20137
free                      空闲物理内存量: 238177
shared                  当前已经废弃不用,是1
buffers Buffer       读写缓冲内存区总量:18
cached Page         缓存内存区总量:137

讲解:


第一部分的输出是从操作系统(OS)层面来看的。
也就是说,从OS的角度来看,计算机上一共有:258314M(缺省时free的单位为KB)物理内存;
在这些物理内存中有20137M被使用了;还用238177M是可用的;
数学关系:total= used + free

第二部分(-/+ buffers/cache):

(-buffers/cache) used内存数:19980M (指第一部分Mem行中的used – buffers – cached)
(+buffers/cache) free内存数: 23833M (指第一部分Mem行中的free + buffers + cached)

讲解:
free输出的第二部分是从应用程序的角度看系统内存的使用情况。

-buffers/cache:也就是used-buffers-cache,表示当前系统中实际被程序吃掉的内存;
+buffers/cache:也就是free+buffers+cache,表示当前系统中还可以挪用分配给程序的实际内存总数;

关于这部分内容,相信应该会有不少人和我之前一样存在疑惑,希望大家现在能看明白。第一部分是OS角度,第二部分是应用程序角度,实际应用中,我们主要看这一部分。

第三部分(Swap):
交换分区


buffers与cached的区别:

A buffer is something that has yet to be “written” to disk.
A cache is something that has been “read” from the disk and stored for later use 

对于应用程序来说,buffers/cached 是等于可用的,因为buffer/cached是为了提高文件读取的性能,当应用程序需在用到内存的时候,buffer/cached会很快地被回收。
所以从应用程序的角度来说 可用内存=系统free memory+buffers+cached.

buffers是指用来给块设备做缓冲,存放即将要被处理的数据
cached是用来给文件做缓存(速度优于内存),存放已经被处理完毕的数据,如果有请求再次请求这些数据,就不用重新生成,能直接返回这些数据。

也就是说:buffers是用来存储接受的数据,而cached是用来保存我们处理完毕的数据

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值