free 命令的一些说明

9 篇文章 0 订阅
本文详细解析了Linux `free` 命令的输出,包括Total、Used、Free、Shared、Buffers和Cached等字段的含义。强调了Buffers和Cached在内存管理中的作用,指出真正使用的内存是Used减去Cached和Buffers,而实际可用空余内存是Free加上Cached和Buffers。文章旨在帮助读者更好地理解和诊断Linux系统的内存使用情况。
摘要由CSDN通过智能技术生成

free命令用了很久了,但是知其然有些不知其所以然。今天为了追查一个内存泄漏问题,特意去仔细研究了一下。

一般来说,该命令输出如下:

 

             total       used       free     shared    buffers     cached
Mem:       2059500    2042852      16648          0      26708     303484
-/+ buffers/cache:    1712660     346840
Swap:      2064376     684460    1379916

 

先解释一下字段:

  • Total: 总可用物理内存数。linux内核会占去一部分。
  • Used: 已经使用内存数。更加确切地说,应该是含有数据的内存数。
  • Free:空余内存数。更加确切地说,是没有数据空的内存数。
  • Shared: 共享内存数。被多个应用(进程)共享的内存。
  • Buffers:这个其实是写入用的缓存。这里涉及到linux的I/O策略。 一些数据暂时写入内存中,而不直接写到硬盘上。当做flush操作的时候,再把数据写入硬盘。写入以后,Buffer是可以释放的。因此Buffer其实是一种可以供征集的内存。
  • Cached: 提供读取操作用的缓存。 依然是涉及到I/O策略。预先读取的数据,如果暂时不使用,就先缓存在内存中供以后读取调用(如果内存有空闲)。Cached也是可以随时释放的。且比Buffer更加容易征集。

由此可知,Cached和Buffered都是可用内存。

因此,真正使用的内存,实质是Used - Cached - Buffers. 

实际可用空余内存是free + Cached + Buffers. 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值