Linux free命令使用

本文介绍Linux下free命令的使用方法,包括参数含义、常用命令解释及数据来源。free命令用于显示系统内存使用情况,帮助管理员了解系统状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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为单位显示内存使用情况

这里写图片描述
图1、第一类单位参数示意图

第二类参数:

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

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

  • 2)、 -c, –count, 展示结果count次,需与-s配合使用
  • 3)、 -s, –seconds, 动态刷新内存使用情况的间隔
    这里写图片描述
    图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。

这里写图片描述

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

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

纠错与建议
邮箱:db_hebut@163.com


<think>好的,用户想了解Linuxfree命令的用法。首先,我需要回忆一下free命令的基本功能和常用选项。根据之前学过的资料,free命令主要用于显示系统的内存使用情况,包括物理内存、交换空间和内核缓冲区等。 首先,我应该从基本语法开始,用户可能想先知道怎么运行这个命令。基本命令是`free`,不加任何选项的话会显示内存信息,但默认单位是KB。记得用户可能需要不同的单位,比如-m或--mega以MB显示,-g或--giga以GB显示,这些选项需要提到。 然后,常用的选项有哪些呢?比如-b、-k、-m、-g这些单位选项,还有-h人类可读的格式,这个很重要,因为用户可能更习惯自动调整单位。另外,-t选项可以显示总内存,-s和-c组合用于定时刷新,这对监控内存变化很有帮助。还有-s选项后面跟秒数,比如每5秒更新一次。 接下来需要解释输出中各列的含义。比如total是总内存,used是已用内存,free是空闲内存,shared是共享内存,buff/cache是缓冲和缓存,available是可用的内存。这部分需要详细说明,因为用户可能对每个字段不太清楚。 还要注意不同版本free命令的区别,比如旧版本可能没有available列,而新版本有。用户如果看到不同输出,可能需要知道这一点。此外,buffer和cache的区别,buffer是内核缓冲区,cache是页面缓存,这部分可以简单解释。 然后,应用场景部分需要举几个例子,比如快速检查内存使用,或者结合watch命令实时监控,或者查看swap使用情况。这些例子能帮助用户更好地理解如何在实际中使用free命令。 最后,常见问题可能需要解答,比如buffer/cache是否算已用内存,如何判断内存不足,以及如何解读available的值。这些是用户在使用过程中可能会遇到的疑问,提前解答能提高回答的实用性。 需要确保所有行内代码用$...$包裹,比如$ free -h$,独立命令用$$...$$。同时,引用资料的时候要正确标注,比如[^1]、[^2]、[^3]。还要生成相关问题,比如单位选项、监控内存变化、buffer和cache区别等。 检查是否有遗漏的选项或常见问题,确保语法正确,用中文回答,结构清晰。可能还需要提醒用户某些选项需要特定版本的free命令支持,比如-h在某些旧系统中不可用。总之,要覆盖基本用法、选项、输出解释、应用实例和常见问题,确保用户能够全面了解free命令使用。</think>### Linux free命令使用说明 #### 1. 基本语法 ```bash $ free [选项] ``` 通过该命令可查看系统内存使用情况,默认单位为KB。 #### 2. 常用选项 | 选项 | 作用描述 | |------|----------| | `-b` | 以字节为单位显示 | | `-k` | 以KB为单位(默认) | | `-m` | 以MB为单位 | | `-g` | 以GB为单位 | | `-h` | 自动选择适合的单位(人类可读格式) | | `-t` | 显示内存总量统计行 | | `-s N` | 每N秒刷新一次数据 | | `-c N` | 刷新N次后退出 | #### 3. 输出字段解析 执行`$ free -h`的典型输出: ``` total used free shared buff/cache available Mem: 15Gi 4.2Gi 2.1Gi 0.5Gi 8.7Gi 9.8Gi Swap: 2.0Gi 0.5Gi 1.5Gi ``` - **total**:总内存容量 - **used**:已使用的内存(含buffer/cache) - **free**:完全未使用的内存 - **shared**:共享内存(多进程通信) - **buff/cache**:内核缓冲区+页面缓存(可被快速回收) - **available**:预估可用内存(含可回收缓存) #### 4. 应用实例 1. **快速检查内存** `$$ free -h$$` 输出自动适配单位(MB/GB) 2. **监控内存变化** `$$ free -s 5 -c 3$$` 每5秒刷新一次,共刷新3次 3. **查看swap使用** `$$ free -th$$` 显示包含总内存的易读格式 #### 5. 注意事项 - buffer与cache的区别: - **buffer**:内核缓冲区(未写入磁盘的数据) - **cache**:页面缓存(从磁盘读取的文件内容) - `available`列表示应用程序可用的内存估算值,比`free`列更具参考价值
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值