学习笔记

Study notes

Linux free 命令详解

云逐梦962022-03-30 14:56:00返回列表

Linux free命令用于显示内存状态。free指令会显示内存的使用情况,包括实体内存,虚拟的交换文件内存,共享内存区段,以及系统核心使用的缓冲区等。

一、前言

        Linux free命令用于显示内存状态。

        free指令会显示内存的使用情况,包括实体内存,虚拟的交换文件内存,共享内存区段,以及系统核心使用的缓冲区等。

、free详解

    1、命令格式

free [-bkmotV][-s <间隔秒数>]

    2、命令参数

-b    以Byte为单位显示内存使用情况。
-k   以KB为单位显示内存使用情况。
-m   以MB为单位显示内存使用情况。
-h   以合适的单位显示内存使用情况,最大为三位数,自动计算对应的单位值。单位有:
        B = bytes
        K = kilos
        M = megas
        G = gigas
        T = teras
-o   不显示缓冲区调节列。
-s    <间隔秒数>  持续观察内存使用状况。
-t   显示内存总和列。
-V   显示版本信息。

    3、实例介绍

    实例一:以bytes字节来计算

    命令:

    free -b

image.png


free命令输出字段及含义
字段含义
Mem内存的使用情况
-/+ buffers/cache表示物理内存已用多少,可用多少
Swap交换空间的使用情况
total物理内存大小,就是机器实际的内存
used已使用的内存大小,这个值包括了cached和应用程序实际使用的内存
free空闲的,未被使用的内存大小
shared

共享内存大小,是进程内通讯的一种方式,在linux里面有很多共享内存,比如一个libc库,很多程序调用,但实际只存一份

buffers被缓冲区占用的内存大小,可回收
cached被缓存占用的内存大小,可回收

    备注:

    cached和buffers都可以读写,它们唯一的区别就是:buffers以裸设备或分区为背景,cached以文件系统里的文件为背景。

    比如 cat /dev/sda1 > /dev/null,那**/dev/sda1的内容进入buffers**,

    如果cat /opt/a.py > /dev/null,则**/opt/a.py的内容进入cached**。

    

        1)、关于Mem这一行的total的计算公式

        total = Mem这一行的used + Mem这一行的free

        2)、关于 -/+ buffers/cache这一行的used的计算公式(-/+ buffers/cache这一行的used,即 -buffers/cache ,表示一个应用程序认为系统被用掉多少内存,实实在在吃掉的内存)

        -/+ buffers/cache的used = Mem这一行的used - Mem这一行的buffers - Mem这一行的cached

        3)、关于 -/+ buffers/cache这一行的free的计算公式(-/+ buffers/cache这一行的free,即 +buffers/cache ,表示一个应用程序认为系统还有多少内存,可以挪用的内存总数)

        -/+ buffers/cache的free = Mem这一行的free + Mem这一行的buffers + Mem这一行的cached

        4)、关于Swap这一行的total的计算公式

        total = Swap这一行的used + Swap这一行的free


    实例二:以kb来计算

    命令:

    free -k

    image.png


    实例三:以mb为单位来计算

    命令:

    free -m

    image.png

    

    实例四:以gb为单位来计算

    命令:

    free -g

     image.png


    实例五:以较友好的方式显示

    命令:

    free -h

    image.png

    

    实例六:显示详细的低内存和高内存统计信息

    命令:

    free -l

    image.png

    

    实例七:使用旧格式(没有 -/+buffers/cache 这一行)

    命令:

    free -o

    image.png

    

    实例八:展示RAM和swap的合计

    命令:

    free -t

    image.png

    

    实例八:(free -s N)每相隔N秒重复打印一次内存信息,直到你按下 Ctrl + c

    命令:

    free -s 2

    每隔2秒打印一次

    image.png


    实例八:显示版本号信息

    命令:

    free -V

    image.png


返回
顶部