如下显示free是显示的当前内存的使用,-m的意思是M字节来显示内容.我们来一起看看.

[root@zabbix ~]# free -mtotal       used       free     shared    buffers     cached
Mem:           979        826        153          6          0        299
-/+ buffers/cache:        526        453
Swap:         2047          1       2046

第一部分Mem行:

total 内存总数: 1002M
used 已经使用的内存数: 769M
free 空闲的内存数: 232M
shared 当前已经废弃不用,总是0
buffers Buffer 缓存内存数: 62M
cached Page 缓存内存数:421M

关系:total(1002M) = used(769M) + free(232M)

第二部分(-/+ buffers/cache):

(-buffers/cache) used内存数:286M (指的第一部分Mem行中的used – buffers – cached)
(+buffers/cache) free内存数: 715M (指的第一部分Mem行中的free + buffers + cached)

可见-buffers/cache反映的是被程序实实在在吃掉的内存,而+buffers/cache反映的是可以挪用的内存总数。

第三部分是指交换分区, 我想大家都明白

大家看了上面,还是很晕.第一部分(Mem)与第二部分(-/+ buffers/cache)的结果中有关used和free为什么这么奇怪.

其实我们可以从二个方面来解释.

对操作系统来讲是Mem的参数.buffers/cached 都是属于被使用,所以它认为free只有232.

对应用程序来讲是(-/+ buffers/cach).buffers/cached 是等同可用的,因为buffer/cached是为了提高程序执行的性能,当程序使用内存时,buffer/cached会很快地被使用.

  所以,以应用来看看,以(-/+ buffers/cache)的free和used为主.所以我们看这个就好了.另外告诉大家一些常识.Linux为了提高磁盘和内存存取效率, Linux做了很多精心的设计, 除了对dentry进行缓存(用于VFS,加速文件路径名到inode的转换), 还采取了两种主要Cache方式:Buffer Cache和Page Cache.前者针对磁盘块的读写,后者针对文件inode的读写.这些Cache能有效缩短了 I/O系统调用(比如read,write,getdents)的时间.

  记住内存是拿来用的,不是拿来看的.不象windows,无论你的真实物理内存有多少,他都要拿硬盘交换文件来读.这也就是windows为什么常常提示虚拟空间不足的原因.你们想想,多无聊,在内存还有大部分的时候,拿出一部分硬盘空间来充当内存.硬盘怎么会快过内存.所以我们看linux,只要不用swap的交换空间,就不用担心自己的内存太少.如果常常swap用很多,可能你就要考虑加物理内存了.这也是linux看内存是否够用的标准哦.

博客搬运地址

  • 正确解读free -m

转载于:https://www.cnblogs.com/clement-jiao/p/9402853.html

linux命令 - free -m相关推荐

  1. 作为一个java程序员,常用的linux命令(越攒越多)

    本篇记录我在工作中不断遇到的常用的linux命令,并进行总结,时常更新! 1. 升级服务时先停止服务,然后进行替换 linux中杀进程时候,如果你是知道它所占用的端口号的话,可以通过 netstat ...

  2. Linux命令行与命令

    Linux命令行与命令 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! Linux的命令是很重要的工具,也往往是初学者最大的瓶颈. ...

  3. sed linux 命令

    sed linux 命令 1. Sed简介 2. 定址 3. Sed命令 4. 选项 5. 元字符集 6. 实例 7. 脚本 1. Sed简介 sed 是一种在线编辑器,它一次处理一行内容.处理时,把 ...

  4. linux 命令行叫dos,利用shell编程实现DOS风格的Linux命令行

    如果你是习惯于Windows命令提示符的IT人,当你第一次使用Linux命令行时,一定会感到无所适从.你所熟悉的DOS命令再Linux中基本不存在.摆在你面前的是一大堆要记背的命令. 一种替代方案是利 ...

  5. linux 命令删除命令,Linux 命令之删除命令

    在Linux下删除文件用rm命令,具体用法如下: rm [选项] 文件 选项说明: -f -force 忽略不存在的文件,强制删除,无任何提示 -i --interactive 进行交互式地删除 -r ...

  6. 你知道吗?Linux命令竟如此简单!

    你知道吗?Linux命令竟如此简单! 我Linux安完了,如何快速入门? 1.进入终端 2.好了,入门完了 咳 咳 开个玩笑 2.1查看磁盘容量 2.2新建 2.3查看&删除 2.5解压&am ...

  7. linux下free源码,linux命令free源码解读:Procps free.c

    linux命令free源码解读 linux命令free源码解读:Procps free.c 作者:isayme 发布时间:September 26, 2011 分类:Linux 我们讨论的是linux ...

  8. 常用Linux命令总结

    常用Linux命令总结 2013-12-08 压缩为gz格式 gzip error_2018082217.log 解压gz格式 gzip -d error_2018082217.log.gz 不解压来 ...

  9. Linux命令行与shell脚本编程大全:第2版

    <Linux命令行与shell脚本编程大全:第2版> 基本信息 作者: (美)布卢姆(Blum,R.) 布雷斯纳汉(Bresnahan.C.) [作译者介绍] 译者: 武海峰 丛书名: 图 ...

  10. 《Linux命令行与shell脚本编程大全 第3版》Shell脚本编程基础---34

    以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下: 转载于:https://www.cnbl ...

最新文章

  1. 在NewLisp中实现匿名函数的递归
  2. 我与编程:十载寒冰,难凉热血
  3. java类的定义的实例_Java类的定义与实例化
  4. 文巾解题 679. 24 点游戏
  5. Spring Boot 2.4.0 全新发布,还不快来实战
  6. 有向无环图拓扑排序(python实现)
  7. Linux实验三:Shell编程
  8. tomcat 启用NIO
  9. 新手silverlight练习--五子棋( 二 )
  10. 2018-6-19bash编程之循环
  11. 深入浅出 python epub_《机器学习从认知到实践(第2辑)(套装共3册,Python+TensorFlow)》epub+mobi+azw3...
  12. python列表姓氏,Python程序可以打印完整姓氏的名字的缩写吗?
  13. 苹果mac智能手写笔记软件:GoodNotes 5 +iCloud同步
  14. 古体字与简体字对照表_简体字和繁体字对照表
  15. UVALive 3713 Astronauts(2-sat+输出任意路径)
  16. C#使用Microsoft.Office.Interop.Word操作word书签位置插入Wingdings 2复选框
  17. 日语日常信函书信写作范文(6篇)
  18. 在linux中使用vi 打开文件时,能显示行号
  19. 电位器的主要参数有哪些?
  20. mysql有什么不同_mysql 和 mysql2 有什么不一样

热门文章

  1. python有限循环_Python循环
  2. SimGAN-Captcha代码阅读与复现
  3. Android Content Provider Security
  4. 如何构建Android MVVM 应用框架
  5. ws.v6p.coindex.php,php_168_v6目录
  6. sql增删改查_快速搞定数据库增删改查|附思维导图
  7. htpasswd java_mod_rewrite,reverseProxy和.Htpasswd
  8. idea在目录中前添加目录_[LaTeX Beamer] 为目录项添加页码
  9. 记录用户转成超级用户的文件名字_Linux学习手册(四)—用户及权限管理类命令...
  10. 公共互联网网络安全突发事件应急预案_安徽新规:发生重大突发事件,官方5小时内必须发声...