Linux free 命令大揭秘


free是一个可以为我们提供linux机器可用RAM(内存)很有价值的一个常用命令,很多linux新手或者运维人员会误解它,让我们一起来揭开它的神秘面纱吧!
在这里插入图片描述
free的输出结果如下,默认表示这些数字都是以KB为单位的,如果想输出可读的可以加上-h 、-m等参数

[dev@DC-dev-datanode-01 ~]$ free
             total       used       free     shared    buffers     cached
Mem:      16467080   10999040    5468040        544     231280     646008
-/+ buffers/cache:   10121752    6345328
Swap:            0          0          0
1.Mem 解析
对应的数值参数名称含义
16467080total当前机器总共可用的内存数,由于使用了-m 参数,所以该数值是以MB为单位
10999040used已经被使用的内存,包含buffers和cached
5468040free空余的内存
544shared表示多个进程共享内存
231280buffers在linux系统中为不同应用缓冲数据所使用的内存数
646008cached为将来快速访问为目的而缓存数据使用的空间
buffers 与cached的区别?

buffers:是存储特定应用程序数据的临时位置,任何其他应用程序都不会使用此数据。类似于带宽,当您尝试通过
网络发送大量数据时,如果您得带宽很小,只能发送很少的数据时,系统会将这些还未发送的数据保存在buffer里面,
以便可以以较低的速度不断的发送数据。

cached:是存储常用的数据以便更快访问的位置。
不同点:cache里面的数据可以多次使用,而buffer是一次性的。
相同点:两者都是临时存储,用于数据处理。

2.-/+ buffers/cache 解析
对应的数值参数名称含义
10121752- buffers/cache真实被系统或应用程序所使用的内存,计算公式:used - (buffers + cache),10999040 - 231280 - 646008= 10121752
6345328+ buffers/cache真实可以使用的内存,计算公式:total - (上面真实被使用掉的内存),16467080- 10121752 = 6345328

tips:
1.为什么在Mem:那一行中的used 显示的是10999040呢?是因为linux 把cached 和buffered 内存也统计到里面去了,当时将来如果任何应用程序想使用内存,linux将为您释放掉cached和buffered。

2.不要抱怨linux占用了您太多的内存,这是误解free 这个老铁了,如果有人问您现在服务器可用的内存是多少时,您应该说6345328 kb而不是第一行的10999040 kb。

3.Swap 解析

Swap 行标识交换详细信息,如swap的总大小,已经使用的swap大小和空闲的swap空间,Swap是在磁盘上创建的虚拟内存,可虚拟增加内存大小。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值