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


Linux free命令使用相关推荐

  1. linux常用命令(转载)

    Linux常用命令大全(非常全!!!) 最近都在和Linux打交道,感觉还不错.我觉得Linux相比windows比较麻烦的就是很多东西都要用命令来控制,当然,这也是很多人喜欢linux的原因,比较短 ...

  2. linux if 命令判断条件总结

    linux if命令 关于文件属性的判断式 -a 如果文件存在 -b 如果文件存在,且该文件是区域设备文件 -c 当file存在并且是字符设备文件时返回真 -d 当pathname存在并且是一个目录时 ...

  3. linux paste变量,Linux paste命令详解

     Linux 命令大全 小白告诉你:Linux paste 命令用于合并文件的列. paste 指令会把每个文件以列对列的方式,一列列地加以合并. 语法 paste [-s][-d ][--help] ...

  4. linux unset命令,Linux unset命令

    Linux unset命令 Linux unset命令用于删除变量或函数. unset为shell内建指令,可删除变量或函数. 语法unset [-fv][变量或函数名称] 参数:-f 仅删除函数. ...

  5. linux wc 命令简介

    此wc命令不是让大家没有食欲的地方.而是linux下一个简单的小命令. NAME wc - word, line, character, and byte count SYNOPSIS wc [-cl ...

  6. linux mysql 命令 大全

    linux mysql 命令 大全 1.linux下启动mysql的命令:   mysqladmin start /ect/init.d/mysql start (前面为mysql的安装路径) 2.l ...

  7. Linux Find 命令精通指南

    作者:Sheryl Calish Linux find 命令是所有 Linux 命令中最有用的一个,同时也是最混乱的一个.它很难,因为它的语法与其他 Linux 命令的标准语法不同.但是,它很强大,因 ...

  8. linux ps命令大全,Linux ps命令例子汇总

    Linux ps命令主要用于查看系统运行的进程,确定进程运行的状态机是否占用过多资源等?下面学习啦小编通过实例来给大家详细介绍下Linux的ps命令,一起来了解下吧. Linux提供了当前进程的同时, ...

  9. linux用户在哪个文件夹,LINUX中用命令成功建立一个用户后信息会记录在哪个文件中...

    LINUX中用命令成功建立一个用户后信息会记录在哪个文件中 发布时间:2007-07-28 10:14:57来源:红联作者:MPiops 增加用户帐号后 新建用户的命令十分简单,在命令行下使用 use ...

  10. Linux常见命令(二)

    随着Linux应用的扩展许多同学开始接触Linux,根据学习Windwos的经验往往有一些茫然的感觉:不知从何处开始学起.虽然Linux桌面应用发展很快,但是命令在Linux中依然有很强的生命力.Li ...

最新文章

  1. 你有没有扔过一枚硬币选择正反面?
  2. wxWidgets:wxSplashScreen类用法
  3. leetcode 485,487,1004. Max Consecutive Ones I ,II, III(最大连续1的个数问题合集)
  4. windows下在一台电脑上配置多个git账号
  5. 洛谷 P1494 [国家集训队]小Z的袜子
  6. 转:跨dll操作fopen的返回值导致出错
  7. Mac隔空投送功能在哪? macbook隔空投送更方便的使用方法
  8. 解决ajax中ie缓存问题(手动添加时间戳)
  9. 对权值线段树剪枝的误解--以HDU6703为例
  10. 获得中文每个字的拼音首字母
  11. 还在用上古的 ls 命令管理文件吗,是时候使用终端文件管理神器 lf 了!
  12. Navicat for MySQL 连接 Mysql 8.0.16 时报错1251- Client does not support.....的解决办法
  13. 滴滴工程师带你深入理解 HTTP通信细节
  14. 21世纪的“影子王国”:GPT-3,又一场科技革命的来临
  15. Minpro-I编程器的驱动安装
  16. Android网络对讲机的实现
  17. 3. 用户/管理员注册登录 - 如何使用个人Facebook来登录门户网站
  18. redis实现分布式锁(乞丐版)
  19. c语言is函数,C ++中的is_trivial函数
  20. 【漏洞】——心脏滴血(CVE-2014-0160)

热门文章

  1. E18-D80NK拆解
  2. 洛谷P1719 最大加权矩形
  3. 机器学习实战-微额借款用户人品预测
  4. iphoneX系列手机在页面滚动时隐藏底部的操作栏
  5. 接近618,浅谈“猫爪杯”,“优衣库”背后的饥饿营销套路
  6. React,手写简易redux(二)- By Viga
  7. 1646906-26-4,PO-T2T钌(Ⅱ)多吡啶配合物[Ru(phen)(Hecip)](ClO4)2
  8. 在电脑上安装了百度一键root工具后,启动adb提示:adb server version (31) doesn't match this client (36); killing...
  9. 零基础学java——面向对象(三)
  10. Linux是如何避免内存碎片的