free 占用 空闲 cache available_Linux 里 free 命令结果阐释

689401b492048f1dcb19c562e10949e1.png

目录

现象

示例

第一行 Mem

第二行 -/+ buffers/cache

第三行 Swap

Linux 虚拟内存简介

现象

Linux 机器上 free 命令显示 Mem: 行里的 free 栏位值快没了!情况危急,我是否需要立刻采取措施?

在回答此问题之前,让我们先来看一个例子。

示例

下面的结果为在 CentOS 系统上 free 的输出:

             total       used       free     shared    buffers     cached
Mem:       8173440    5546388    2627052          0     276424    2492928
-/+ buffers/cache:    2777036    5396404
Swap:      4104596          0    4104596

第一行 Mem

total:总内存 8173440KB,不包括为内核保留的那一部分,因此总会比实际总内存小一点。此例中,实际物理内存大小为 8388608KB。

used: 当前被占用的内存,5546388KB。

free: 未被使用的内存,2627052KB。

total = used + free,这里即 8173440 = 5546388 + 2627052

shared / buffers / cached: 这些值包含在 used 里。

第二行 -/+ buffers/cache

-/+ buffers/cache: used 下面的值等于 Mem: used - (buffers + cached),即 5546388 - (276424+ 2492928),正好等于 2777036。

-/+ buffers/cache: free下面的值等于 Mem: free - (buffers + cached),即 2627052 + (276424 + 2492928),正好等于 5396404。

看到这里,我们知道,其实机器的物理内存还有很多,完全不用大惊小怪。

第三行 Swap

Swap: 交换使用情况,即内存里临时被置换到硬盘的数据。

注意,在其他 Linux 系统中,free 也有可能输出下面的格式:

              total        used        free      shared  buff/cache   available
Mem:           3553        1192         857          16        1504        2277
Swap:          3689           0        3689

这里,available 指的是可分配的实际内存。

Linux 虚拟内存简介

和其他现代操作系统一样,Linux 就像总是尽量使用空闲的 RAM 来缓存对象,因此 Mem: free 的值总是很小。-/+ buffers/cache: 显示的值里没有考虑缓存(buffers + cache)的占用,因为缓存在需要的时候会自动释放。

如果 -/+ buffers/cache: free 的值很小,那么 Linux 的的可用内存就是真的小了,此时要引起注意。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值