Linux学习之路我用 Linux

Linux 里 free 命令结果阐释

2019-07-22  本文已影响0人  风味沙拉

目录

现象
示例
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 的的可用内存就是真的小了,此时要引起注意。

上一篇下一篇

猜你喜欢

热点阅读