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. 同一个ip,不同端口号,cookie会被覆盖

    参考资料:https://blog.csdn.net/czh500/article/details/80420459

  2. HIVE的UDF

    HIVE的UDF    新建java工程,导入hive相关包,导入hive相关的lib.    创建类继承UDF    自己编写一个evaluate方法,返回值和参数任意.    为了能让mapred ...

  3. SpringBoot:SpringBoot整合JdbcTemplate

    个人其实偏向于使用类似于JdbcTemplate这种的框架,返回数据也习惯于接受Map/List形式,而不是转化成对象,一是前后台分离转成json方便,另外是返回数据格式,数据字段可以通过SQL控制, ...

  4. Linux中 cmake-3.x 编译安装以及man page添加

    首先回顾一下 cmake-2.x 的编译安装. ================ cmake-2.x编译安装说明 ================编译安装的命令: ./bootstrap --pref ...

  5. 解决git rebase操作后推送远端分支不成功的问题

    转:解决git rebase操作后推送远端分支不成功的问题 前段时间在工作中同事在rebase时遇到一个问题来问我,今天突然想起来觉得有必要记录一下. 在我们日常工作中,经常使用git座位代码管理工具 ...

  6. shell中得到当下路径所有文件夹名称

      方法1: for dir in $(ls -al ./|awk '/^d/ {print $NF}') do echo $dir done   方法2: for dir in $(ls ./) d ...

  7. JS实现级联菜单

    是首先应该添加两个下拉列表并设置id属性来方便操作: <select id="country"> <option>国家</option> < ...

  8. 【51nod】2591 最终讨伐

    [51nod]2591 最终讨伐 敲51nod是啥评测机啊,好几次都编译超时然后同一份代码莫名奇妙在众多0ms中忽然超时 这道题很简单就是\(M\)名既被诅咒也有石头的人,要么就把石头给没有石头被诅咒 ...

  9. CF1032B Personalized Cup

    一个多月前写的题,既然没人写题解,那蒟蒻就写一篇吧 基本思路 既然是输出任意一个解,那么号的位置在那里是没有关系的.我的思路是默认*号在最后面,然后对输入的字符串输出的行数进行分类. 代码 #incl ...

  10. Django中ORM常用字段及字段参数

    Object Relational Mapping(ORM) ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据 ...