free命令可以显示Linux系统中空闲的、已用的物理内存及swap内存以及被内核使用的buffer。我们本篇学习如何使用free命令监控系统的内存情况。

一般使用free –m方式查看内存占用情况(兆为单位),free同样提供给我们b(B),-k(KB),-m(MB),-g(GB)和tera(TB)这些单位,要显示我们想要的单位,只要选择一个并在free后面跟上,下面是一个以MB为单位的输出样例,命令显示结果为:

[root@tianyun ~]# free –m

total            used          free    shared   buffers   cached

Mem:                 1002            920           81        0      42     375

-/+ buffers/cache:                       502          500

Swap:                1020              3          1017

这个技巧同样适用于-b,-k,-g以及-tera选项。

free同样提供-h选项,这意味着适于人类可读,但是系统上可能并不存在-h选项,已被-m取代。与其他选项的最大不同是-h选项会在数字后面加上适于人类可读的单位。具体如下所示:

[root@tianyun ~]# free –h

total       used     free   shared    buffers   cached

Mem:    1.0G      929M     72M      0B     43M     383M

-/+ buffers/cache

Swap:    1.0G       3.3M    1.G

如看到的,在1.0数字后这里是G(GB)字母。当数字并没有达到GB时,free足够聪明来知道并在每个数字后面跟上合适的单位。

但系统实际可用内存并不是free的部分,而系统实际内存占用以及可用内存有着加减关系。

[root@tianyun ~]# free

total    used   free  shared   buffers   cached

Mem     128     119    8      0      1        22

-/+buffers/cache:     95   32

swap:    255       0    255

上述结果中各个参数的详细说明如下:

total

内存总数

used

已经使用的内存数

free

空闲的内存数

shared

多个进程共享的内存总额

buffers buffer cache 和cache page cache

磁盘缓存的大小

-buffers/cache

(已用)的内存数,即used – buffers – cached

+buffers/cache

(可用)的内存数,即free+buffers+cached

由此得出结论,可用内存的计算公式为

可用内存=free+buffers+cached

free命令参数有:-b/k/m/g 分别以bytes/kilobytes/megabytes/gigaby为单位显示

参数

含义

-h

以人类可读的方式输出统计结果

-t

使用该选项会多显示一行标题为Total的统计信息,该行统计的是(used、free、total、的总和)此Total与total不同

-o(小写)

禁止显示第二行的缓冲区调整值(-/+buffers/cache)

-s

每个多少秒自动刷新结果

-c

与-s配合使用,控制刷新结果次数

-l

显示高低内存的统计详情

-a

显示可用内存

-V

显示版本号

free命令详解-1的更多相关文章

  1. Git初探--笔记整理和Git命令详解

    几个重要的概念 首先先明确几个概念: WorkPlace : 工作区 Index: 暂存区 Repository: 本地仓库/版本库 Remote: 远程仓库 当在Remote(如Github)上面c ...

  2. linux yum命令详解

    yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能够从指定的服务器自动下载RP ...

  3. Linux下ps命令详解 Linux下ps命令的详细使用方法

    http://www.jb51.net/LINUXjishu/56578.html Linux下的ps命令比较常用 Linux下ps命令详解Linux上进程有5种状态:1. 运行(正在运行或在运行队列 ...

  4. Docker命令详解

    Docker命令详解   最近学习Docker,将docker所有命令实验了一番,特整理如下: # docker --help Usage: docker [OPTIONS] COMMAND [arg ...

  5. linux awk命令详解

    linux awk命令详解 简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分 ...

  6. android adb 命令详解

    ADB (Android Debug Bridge)  是android SDK中的工具,需要先配置环境变量才能使用.起调试桥的作用,可以管理安卓设备.(也叫debug工具) ---------查看设 ...

  7. Git 常用命令详解

    Git 是一个很强大的分布式版本管理工具,它不但适用于管理大型开源软件的源代码(如:linux kernel),管理私人的文档和源代码也有很多优势(如:wsi-lgame-pro) Git 的更多介绍 ...

  8. Top 命令详解

    Top 命令详解 先感受一下top命令的执行结果吧!哈哈-- top - 17:32:34 up 3 days, 8:04, 5 users, load average: 0.09, 0.12, 0. ...

  9. Ruby Gem命令详解

    转自:http://www.jianshu.com/p/728184da1699 Gem介绍: Gem是一个管理Ruby库和程序的标准包,它通过Ruby Gem(如 http://rubygems.o ...

  10. DOS命令详解

    DOS命令详解 命令 \? 可以进入命令帮助 1.md命令创建目录. MKDIR [drive:]pathMD [drive:]path 如果命令扩展被启用,MKDIR 会如下改变: 如果需要,MKD ...

随机推荐

  1. 洛谷 题解 P4158 【[SCOI2009]粉刷匠】

    状态: dp[i][j][k][0/1]: 到达第i行时, 到达第j列时, 刷到第k次时, 这一格有没有刷对 转移 换一块木板时肯定要多刷一次 dp[i][j][k][0]=max(dp[i-1][m ...

  2. 异构平台mysql-oracle(ogg)安装部署

      如图所示:源端采用Mysql库,目标端采用Oracle库 一.OGG安装配置(源端) 1.OGG下载 https://edelivery.oracle.com/EPD/Download/get_f ...

  3. Kubernetes---Pod hook

    Pod hook(钩子)是由Kubernetes管理的kubelet发起的,当容器中的进程启动前或者容器中的进程终止之前运行,这是包含在容器的生命周期之中.可以同时为Pod中的所有容器都配置 hook ...

  4. C#向远程地址发送数据

    static string proxyIpAddress = AppConfig.GetProxyIpAddress; static string proxyUserName = AppConfig. ...

  5. CodeFirst实体类中,为什么都把ICollection<x>定义成virtual?

    主要是用于延迟加载,提高性能用的 只有定义成virtual后才可以延迟加载. 延迟加载,默认情况下,延迟加载被支持,如果你希望禁用它,必须显式声明,最好的位置是在 DbContext 的构造器中. p ...

  6. Apache开启.htaccess 支持

    (1) <Directory "${SRVROOT}/htdocs"> # # Possible values for the Options directive ar ...

  7. Windows 编程 键盘

    键盘对于大家来说可能再也熟悉不过了,它和鼠标是现在最常用的电脑输入设备.虽然在现在的图形界面操作系统下使用鼠标比使用键盘更方便.更广泛,但是鼠标还是一时半会儿取代不了它的老前辈——键盘的地位,尤其是在 ...

  8. python3.7 lxml4.2.5 etree xpath 的使用

    #2019年10月14日11:08:49 from lxml import html etree = html.etree html = etree.HTML(response_dl.content) ...

  9. ant-design的Table组件自定义空状态

    Table,是antd中一个我们经常使用的组件,在官方文档中给出了非常详细的实例以及API, 但在我们在使用过程中可能需要根据项目的要求来定制空状态时的展示. 什么是空状态呢? 在antd的官方文档中 ...

  10. 关于一些JS的运算符

    首先呢,什么是JavaScript:JavaScript是一种脚本语言,也是一种解释型语言,更是一种由数据值决定变量类型的弱类型语言 JavaScript主要由三部分组成 ECMAScript  这个 ...