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. 【Matlab开发】matlab中bar绘图设置与各种距离度量

    [Matlab开发]matlab中bar绘图设置与各种距离度量 标签(空格分隔): [Matlab开发] [机器学习] 声明:引用请注明出处http://blog.csdn.net/lg1259156 ...

  2. layer.msg弹窗后没有自动关闭——问题解决

    layer.msg弹窗后没有自动关闭,里面也没有配time: -1 layer.msg("信息体", {time: -1}); 后面发现是jquer和layer版本不对,之前自己用 ...

  3. mui ajax传参示例

    //加入购物车var data=[];var row1 = {good_id:'1',number:'2',goods_spec_ids:[1,2]};data.push(row1);console. ...

  4. Java编程思想(三)控制程序流程

    3.1.10逗号运算符 我们可以使用一系列由逗号分隔的语句,而且哪些语句均会独立执行. 3.1.15复习计算顺序

  5. Java反射:Web学习的灵魂

    反射:Web学习的灵魂 我们从最初的 javac -HelloWorld.java,到面向对象部分,我们可以将Java代码在计算机中经历的阶段分为三部分:Scource源代码阶段 -- Class类对 ...

  6. 用java转换文件的字符集

    中文乱码真的是让人很头疼问题,有了这个方法应该能缓解这种头疼,用的是递归方式查找文件,直接在原文件中修改,小心使用(在本地测试效果有点诡异呀,没有达到预期效果). package com.hy.uti ...

  7. Elasticsearch使用小结之冷热分离

    Elasticsearch使用小结之冷热分离 索引迁移 索引setting中的index.routing.allocation.exclude和index.routing.allocation.inc ...

  8. java--键盘输入任意数字进行求和

    思路,我将键盘输入的数放入数组,然后便利数组进行求和 package com.test.day01; import java.util.Scanner; public class Test { pub ...

  9. REST架构中的HTTP动词

    POST 增 DELETE 删 PUT 改 GET 查 GET(SELECT):从服务器取出资源(一项或多项). POST(CREATE):在服务器新建一个资源. PUT(UPDATE):在服务器更新 ...

  10. pthread_cancel 相关

    假设线程A对线程B发出了一个取消请求.通过如下函数: #include <pthread.h> int pthread_cancel(pthread_t thread); 参数: thre ...