亚游wwwag8com
你好,游客 登录 注册
背景:
阅读新闻

CentOS 6.8与CentOS 7.5内存查看命令free的差异对比

[日期:2019-03-08] 来源:Linux社区  作者:Linux [字体:亚游wwwag8com大 亚游wwwag8com中 ]

亚游wwwag8com,  很显然,对于搜索概念的不同理解,也直接反映到Google和雅虎中国的不同策略上。

  据悉,PCCW目前的国际资产包括近期在英国推出的宽带服务,以及在海底电缆合资公司Reach中所持有的50%股份。印巴克什米尔交火致5死 双方均指对方先开火  九月开始,西方注意到,俄罗斯开始向叙利亚运送和人员。西方表示关注,但始终不太清楚俄罗斯的意图。俄罗斯当然也不屑解释。9月21日,西方报导,俄罗斯突然向拉塔基亚的空军基地派驻28架和战斗轰炸机,消息来源还表明,俄罗斯另有20架各型直升机也进驻拉塔基亚。拉塔基亚是叙利亚在地中海边的重要军港,这也是俄罗斯在叙利亚的主要基地,甚至可算如今俄罗斯在海外唯一的重要基地。西方猜想,俄罗斯的动作可能是要保卫基地,确保俄罗斯在东地中海的立脚点。西方没有悬念地再一次低估了普京。10月1日媒体纷纷报导,俄罗斯对叙利亚ISIS目标发动了20多次空袭,但西方的指责接踵而至。

在实际的工作中,我们经常会用到free这个命令,但是我们对这个命令的实际含义又知道多少,它在CentOS 6 和CentOS 7 的显示又有什么差异?让我们一起瞧一瞧,看一看。

一 centos6 free

free 命令默认是使用 kb 作为单位的,free -m 则是以Mb作为单位的,free -g 是以gb作为单位的,gb-->mb-->kb 采用的是1024度量单位(而非1000)

常用参数和含义

-b  指定单位为bytes
-m  指定单位为mb
-k  指定单位为kb
-g  指定单位为gb
-o  显示老版本的输出格式也就是不显示-/+ buffers/cache 这行
-t  显示物理内存和虚拟内存的总和
-s  n 每隔n秒显示一次
-c  显示多少次
-V  显示free的版本信息并退出
-l  显示最低和最高的内存数据统计

centos6 free 命令示例

[linuxidc@linuxidc ~]$ cat /etc/亚游wwwag8comRedHat-release
CentOS release 6.5 (Final)
[linuxidc@linuxidc ~]$ free 
             total       used       free     shared    buffers     cached
Mem:       8061376    7730380     330996          0     178608    4884772
-/+ buffers/cache:    2667000    5394376
Swap:            0          0          0

[linuxidc@linuxidc ~]$ free -m
             total       used       free     shared    buffers     cached
Mem:          7872       7519        352          0        174       4737
-/+ buffers/cache:       2607       5264
Swap:            0          0          0

[linuxidc@linuxidc ~]$ free -g
             total       used       free     shared    buffers     cached
Mem:             7          7          0          0          0          4
-/+ buffers/cache:          2          5
Swap:            0          0          0

free 值讲解

  我们这里以free 的值来进行讲解(显得精确些)

[linuxidc@linuxidc ~]$ free 
             total                used           free               shared    buffers            cached
Mem:       8061376(total)    7730380(used1)     330996(free1)          0     178608(buffers1)    4884772(cached1)
-/+ buffers/cache:           2667000(used2)     5394376(free2)
Swap:            0          0          0

Mem
  total代表总的内存大小, used 代表程序已经使用的内存大小,free代表的是空闲的内存大小, shared 代表的是共享内存,buffers 代表的是 buffers cache, cached 代表的是 Page cache.

-/+ buffers/cache

  used 代表的除去buffers和cached实际程序占用的内存, free代表的是 total - 第二行used, 也就是 第一行free + 第一行buffers + 第一行cached

Swap

  这行代表的是交换分区(虚拟内存)。

计算公式

total=used1 + free1 ,总的内存大小= 使用的(used1)+ 空闲的(free1)
used1 = used2(第二行的2667000) + buffers1(178608)  + cached1(4884772)
used2 = total - free2
free2 = free1 + buffers1(178608)  + cached1(4884772)

二 centos7 free

  centos7 的free 命令多了一个 -h 参数,它会自动根据内存的大小,自动转换成合适的单位,默认的计算倍数是 1024 。free 的显示信息来自于/proc/meminfo

常用的参数

-h   以人性化显示
--si 指定计算倍数为1000.
-b  指定单位为bytes
-m  指定单位为mb
-k  指定单位为kb
-g  指定单位为gb
-t  显示物理内存和虚拟内存的总和
-s  n 每隔n秒显示一次
-c  显示多少次
-V  显示free的版本信息并退出
-l  显示最低和最高的内存数据统计
-w  将buff和cacher 分开显示,默认是在一起显示的。

centos7 free 命令示例

[root@localhost ~]# cat  /etc/redhat-release 
CentOS Linux release 7.5.1804 (Core) 
[root@localhost ~]# free -h
              total        used        free      shared  buff/cache   available
Mem:           1.8G        197M        1.3G        9.4M        272M        1.4G
Swap:          2.0G          0B        2.0G

[root@localhost ~]# free -wh
              total        used        free      shared     buffers       cache   available
Mem:           1.8G        197M        1.3G        9.4M        2.1M        270M        1.4G
Swap:          2.0G          0B        2.0G

以 free -h 的值为例,

Mem :

total 代表的总的内存 (对应/proc/meminfo 里的MemTotal)
used 代表的是 已经使用的内存
free 是代表空闲的内存(对应/proc/meminfo 里的MemFree) 
shared 代表的是共享的内存(对应/proc/meminfo 里的Shmem)
buff/cache 代表的是 buff(对应/proc/meminfo里的Buffers)和cache的内存(对应/proc/meminfo 里的Cached and Slab), 
available 代表的是 活跃的内存
(官方文档对于available这样写到:Estimation of how much memory is available for starting new applications, without swapping. Unlike the data provided by the cache or free fields,  this  field
              takes  into  account  page  cache  and  also that not all reclaimable memory slabs will be reclaimed due to items being in use (MemAvailable in /proc/meminfo,
              available on kernels 3.14, emulated on kernels 2.6.27+, otherwise the same as free)
) available 代表的是一个新的应用程序可以使用内存的估计值,它不等于 free +  buff/cache ,,因为在centos 7.2亚游wwwag8comUbuntu 16.04以上(包含)的系统使用了新的Linux内核,所以并不是所有的buffer/cache空间都可以被回收。
内核commit链接 :/gitd35ckerneld35corg/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?spm=a2c4g.11186623.2.9.5e3113ceBi7J5X&id=34e431b0ae398fc54ea69ff85ec700722c9da773

计算公式

used  =  total - free - buffers - cache
buff/cache = buffers + cache

三 buffers 和cache 的 介绍

buffers

  buffers 指的是 Memory used by kernel buffers(磁盘等块设备的缓冲) ,buffers 的字面意思就是缓冲,缓冲存在的目的是为了解决从速度快的地方往速度慢的地方输出东西,缓冲经常用于像 内存写入数据到磁盘,寄存器数据写到内存等等。位于内存buffer中的数据不是即时写入磁盘,而是系统空闲或者buffer达到一定大小统一写到磁盘中,所以断电易失,为了防止数据丢失所以我们最好正常关机或者多执行几次sync命令,让位于buffer上的数据立刻写到磁盘里。

cached

  cached 指的是 Memory used by the page cache and slabs(文件系统层级的缓存),cache 的字面意思是缓存,缓存存在的目的是为了解决从速度慢的地方获取数据,比如我们读取硬盘里面的文件,硬盘的传输速度是比内存慢很多的,当我们读取完一个文件后,然后重新打开这个文件,如果有缓存,也就是将上次读取文件后将文件缓存在内存里面,我们会发现,我们打开文件会比第一次打开快很多。

针对于两者直接的关系,我在网上看到一张图,可以很清晰的说明
image

为什么要清除 buffers 和caches

  因为caches是缓存的一些数据,当我们实际的数据内容已经更新了的话,那么当我们需要获取最新的数据时候,我们就需要清除caches里面的内容。
或者当我们的内存的不足(将被耗尽)时,那么系统会自动清除buffers 和caches ,以满足程序对内存的需求。

如何清除 buffers 和caches

下图来自网络
image
注意

在清除buffers 前,为了防止数据丢失所以我们最好正常关机或者多执行几次sync命令,让位于buffer上的数据立刻写到磁盘里。
方式一 :
表示清除 pagecache 。

echo 1 > /proc/sys/vm/drop_caches

表示清除回收 slab
分配器中的对象(包括目录项缓存和 inode 缓存)。 slab 分配器是内核中管理内存的一种机制,其中很多缓存数据实现都是用的 pagecache 。

echo 2 > /proc/sys/vm/drop_caches

表示清除 pagecache 和 slab 分配器中的缓存对象。

echo 3 > /proc/sys/vm/drop_caches

重启后会失效

方式二: sysctl 命令更改

sysctl  -w   vm.drop_caches=1

重启后会失效

方式三:
编辑配置文件 sysctl.conf

echo "vm.drop_caches = 1" >>  /etc/sysctl.conf
sysctl -p  /etc/sysctl.conf

重启后不失效。

Linux公社的RSS地址/wwwd35clinuxidcd35ccom/rssFeed.aspx

本文永久更新链接地址/wwwd35clinuxidcd35ccom/Linux/2019-03/157358.htm

linux
相关资讯       free命令 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款
老挝阿速坡省大坝垮塌 数人遇难数百人失踪 加班文化致过劳死 利润重压之下日韩真敢缩短工时? 毛大庆:桑拿天里和冬奥冠军同跑 公安部将韩籍嫌犯移交韩警察厅 其涉案超千亿韩元 四川石棉发生4.3级地震 国道108线部分路段中断 沪指高开低走 Facebook暴跌20%触发科技股恐慌… 河北通报杨玉忠涉黑团伙保护伞案 多名官员被查处 中国军方在边界部署力量应对印度威胁?中方回应 马云:个人非常看好区块链 阿里有最多区块链技术专利 欧股上涨 经济数据良莠不齐、继续关注财报 1.8万人陷虚拟货币陷阱:虚构右脑开发 涉案1.7亿 普京谈乌克兰剧变:明目张胆 俄罗斯被美国骗惨
潘功胜:央行会支持居民特别是新市民买房合理需求 北京女区长增至3人 16区中通州代区长“最年轻” 台再陷“断交”危机却称“邦谊稳固” 网友不买账 IF和IH合约贴水转为升水 上证指数站上3100 中国海警舰艇编队今日再次巡航我钓鱼岛领海 邓亚萍:中国企业当时不懂奥运 奥委会也没指望挣钱 郑智:脚伤很复杂疼痛或一直伴随 但一定能克服 海军罕见训练画面曝光 辽宁舰和战机陆续亮出绝活 巨头竞相试水区块链 底层技术研发应用已居世界前列 成都房产限购新政首日 二手房交易市场工作者累瘫 美股收高 因美国退出伊朗核协议令油价大涨 围甲宁夏站活动将于8月启幕 聂卫平常昊将出席
黄金联赛郑州站-硬气1+2致胜!光合电商晋级 人民日报:选择孤立比维持融入成本更高 英国央行开展压力测试 七大银行面临更严格资本要求 涉恶团伙充当地下出警队 直播犯罪宣扬“威风” 对话人和球迷会大旗:和平的北京德比是足球盛宴 羽球世锦赛又签新伙伴 世界羽联高官看好中国市场 国家体育总局:12月举办2018全国电子竞技公开赛 前特工中毒牵扯普京?俄罗斯:令人震惊且不可原谅 上港后卫线防守质量浅析 佩雷拉比博阿斯更加务实 新华国际时评:美国核战略“开倒车”害人害己 外媒:俄战机虽被击落 但俄仍主导叙局势已成赢家 外交部:提醒在马尔代夫公民加强安全防范 夏威夷导弹乌龙责任人:当时100%相信真是导弹来袭 亚游wwwag8com