Linux free命令使用

Linux free命令使用

摘要: free命令用以显示当前系统内存使用情况,其数据取自/proc/meminfo文件。本文第一部分为free命令及参数(源自linux man手册)、第二部分展示常见命令free -m各字段含义,第三部分解释free命令数据来源。


一、free命令及相关参数

1.1、命令描述
  free - 显示系统已用及空余物理内存量、交换分区使用情况(swap memory)、内核占用的缓存、及共享内存。其命令形式为 free + options(可多个参数)。

1.2、参数
第一类单位参数:

  • 1)、 -b, –bytes, 以Byte为单位显示内存使用情况
  • 2)、 -k, –kilo, 以KB为单位, 这也是默认值
  • 3)、 -m, –mega, 以MB为单位显示内容使用情况
  • 4)、 -g, –giga, 以GB为单位显示内存使用情况

Linux free命令使用_第1张图片
图1、第一类单位参数示意图

第二类参数:

  • 1)、 -h, –human, 自动将数值转换为人类易读形式

这里写图片描述
图2、free -h结果显示

  • 2)、 -c, –count, 展示结果count次,需与-s配合使用
  • 3)、 -s, –seconds, 动态刷新内存使用情况的间隔
    Linux free命令使用_第2张图片
    图3、free -h -c 2 - s 4 结果显示

注:其他版本、形式等参数,可man free 查看

二、常用命令free -m各字段含义

  free -m, 是一个常用的命令,其以MB为单位显示当前内存的使用情况,下面将解释各字段含义。

这里写图片描述
图4、free -m结果显示

2.1、第一部分Mem行:

这里写图片描述

total 内存总数: 3865M
used 已经使用的内存数: 1545M
free 空闲的内存数: 2320M
shared 多个进程共享的内存总额 196M
buffers Buffer 缓存内存数: 176M
cached Page 缓存内存数:569M
关系:total (3865M) = used(1545M) + free(2320M)

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

这里写图片描述

(-buffers/cache) used内存数:798M
(指的第一部分Mem行中的used – buffers – cached)
即为1545 – 176 – 569 = 800 取整时计算差异 2M

(+buffers/cache) free内存数: 3066M
(指的第一部分Mem行中的free + buffers + cached)
即为2320 + 176 + 569 = 3065 取整时计算差异 1M

2.3、第三部分是指交换分区

这里写图片描述

  当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用。这些被释放的进程被临时保存到Swap空间中,等到那些程序要运行时,再从Swap分区中恢复保存的数据到内存中。这样,系统总是在物理内存不够时,才进行Swap交换。所以swap分区不被占用或者占用很少,说明现在系统内存够用,运行还算良好,不会影响系统运行。

三、free 命令数据由来

  free命令显示了当前系统内存使用情况,其数据取自/proc/meminfo文件。这里我们cat 一下。可见,在这个文件中,数据的存储就是以KB为单位,所以free的默认值也是KB。

Linux free命令使用_第3张图片

重点:常用命令free -m各字段的含义

参考资料:
《操作系统之哲学原理》 邹恒明著
linux 系统 man手册 man free

纠错与建议
邮箱:[email protected]


你可能感兴趣的:(linux基础内容)