科百科
当前位置: 首页 范文大全

linux剩余内存和可使用内存(Linux上的free命令详解Buffer和Cache)

时间:2023-07-05 作者: 小编 阅读量: 3 栏目名: 范文大全

第一列是总量,第二列是使用量,第三列是可用量。第一行的输出时从操作系统来看的。FO[2][5]表示被OSbuffer住的内存。在有些时候buffer和cache这两个词经常混用。这二者是为了提高IO性能的,并由OS管理。free命令的所有输出值都是从/proc/meminfo中读出的。在系统上可能有meminfo这个函数,它就是为了解析/proc/meminfo的。procps这个包自己实现了meminfo()这个函数。可以下载一个procps的tar包看看具体实现,现在最新版式3.2.8。

linux剩余内存和可使用内存?解释一下Linux上free命令的输出下面是free的运行结果,一共有4行为了方便说明,我加上了列号这样可以把free的输出看成一个二维数组FO(Free Output)例如:,我来为大家讲解一下关于linux剩余内存和可使用内存?跟着小编一起来看一看吧!

linux剩余内存和可使用内存

解释一下Linux上free命令的输出。

下面是free的运行结果,一共有4行。为了方便说明,我加上了列号。这样可以把free的输出看成一个二维数组FO(Free Output)。例如:

  • FO[2][1] = 24677460
  • FO[3][2] = 10321516

1 2 3 4 5 6

1 total used free shared Buffers cached

2 Mem: 24677460 23276064 1401396 0 870540 12084008

3 -/buffers/cache: 10321516 14355944

4 Swap: 25151484 224188 24927296

free的输出一共有四行,第四行为交换区的信息,分别是交换的总量(total),使用量(used)和有多少空闲的交换区(free),这个比较清楚,不说太多。

free输出地第二行和第三行是比较让人迷惑的。这两行都是说明内存使用情况的。第一列是总量(total),第二列是使用量(used),第三列是可用量(free)。

第一行的输出时从操作系统(OS)来看的。也就是说,从OS的角度来看,计算机上一共有:

  • 24677460KB(缺省时free的单位为KB)物理内存,即FO[2][1];
  • 在这些物理内存中有23276064KB(即FO[2][2])被使用了;
  • 还用1401396KB(即FO[2][3])是可用的;

这里得到第一个等式:

  • FO[2][1] = FO[2][2]FO[2][3]

FO[2][4]表示被几个进程共享的内存的,现在已经deprecated,其值总是0(当然在一些系统上也可能不是0,主要取决于free命令是怎么实现的)。

FO[2][5]表示被OS buffer住的内存。FO[2][6]表示被OS cache的内存。在有些时候buffer和cache这两个词经常混用。不过在一些比较低层的软件里是要区分这两个词的,看老外的洋文:

  • A buffer is something that has yet to be “written” to disk.
  • A cache is something that has been “read” from the disk and stored for later use.

也就是说buffer是用于存放要输出到disk(块设备)的数据的,而cache是存放从disk上读出的数据。这二者是为了提高IO性能的,并由OS管理。

Linux和其他成熟的操作系统(例如windows),为了提高IO read的性能,总是要多cache一些数据,这也就是为什么FO[2][6](cached memory)比较大,而FO[2][3]比较小的原因。我们可以做一个简单的测试:

  1. 释放掉被系统cache占用的数据;
  2. echo 3>/proc/sys/vm/drop_caches
  3. 读一个大文件,并记录时间;
  4. 关闭该文件;
  5. 重读这个大文件,并记录时间;

第二次读应该比第一次快很多。原来我做过一个BerkeleyDB的读操作,大概要读5G的文件,几千万条记录。在我的环境上,第二次读比第一次大概可以快9倍左右。

free输出的第二行是从一个应用程序的角度看系统内存的使用情况。

  • 对于FO[3][2],即-buffers/cache,表示一个应用程序认为系统被用掉多少内存;
  • 对于FO[3][3],即 buffers/cache,表示一个应用程序认为系统还有多少内存;

因为被系统cache和buffer占用的内存可以被快速回收,所以通常FO[3][3]比FO[2][3]会大很多。

这里还用两个等式:

  • FO[3][2] = FO[2][2] – FO[2][5] – FO[2][6]
  • FO[3][3] = FO[2][3]FO[2][5]FO[2][6]

这二者都不难理解。

free命令由procps.*.rpm提供(在Redhat系列的OS上)。free命令的所有输出值都是从/proc/meminfo中读出的。

在系统上可能有meminfo(2)这个函数,它就是为了解析/proc/meminfo的。procps这个包自己实现了meminfo()这个函数。可以下载一个procps的tar包看看具体实现,现在最新版式3.2.8。

    推荐阅读
  • 先概括后具体的方法写一段话(先概括后具体的方法写一段话有哪些呢)

    先概括后具体的方法写一段话中国的美食风味多样,百家争鸣。地域广阔的中华民族,由于各地气候、物产、风俗习惯的差异,自古以来,中华饮食上就形成了许多各不相同的菜系。就地方划分而言,有巴蜀、淮扬、齐鲁、粤闽四大菜系之分。一年四季,按季节而调配饮食,中国一直遵循按季节调味、配菜,冬则味醇浓厚,夏则清淡凉爽。中国的美食注重情趣。

  • 综合素质是什么意思(什么是综合素质)

    下面希望有你要的答案,我们一起来看看吧!综合素质是什么意思综合素质是指一个人的知识水平、道德修养以及各种能力等方面的综合素养。人的综合素质的全面提高是社会发展的一般要求和趋势,尤其是当前人类即将迈入知识经济社会,提高人的综合素质尤为迫切综合素质是指人的适应能力、生存能力、社交能力以及在体育、文艺、美术、音乐、舞蹈、语言、等方面的特长。

  • 古代五大丑女复原图(古代最著名的四大丑女)

    也就是说,她额如纺锤,塌鼻紧蹙,身形肥胖,面色漆黑。而黄帝的这一举动,也给那些抢婚的人上了一课,从此,抢婚事件慢慢减少,最后不再发生。不过,钟无艳从来没有为自己的样貌感到忧愁,令她感到忧愁的是另一件事:国家的兴亡。当时的齐国国运不兴、朝纲不振,钟无艳虽是一介女流,但是胸有韬略,一直想向齐宣王献计献策。随后,便迎钟无艳进宫,封她做了王后。孟光见来者是梁鸿的人,自然十分愿意。

  • 秤杆的拼音(秤杆的拼音怎样读)

    秤杆的拼音[chènggǎn]秤杆,也称杆秤杆秤的木杆,杆秤的组成部分﹐上面镶有计量的金属秤星,接下来我们就来聊聊关于秤杆的拼音?以下内容大家不妨参考一二希望能帮到您!秤杆的拼音秤杆的拼音[chènggǎn]秤杆,也称杆秤。上面标有刻度单位,起支持物重和秤砣的作用,并在计量后标示出重量。

  • 潮字是什么意思(汉字潮字是什么意思)

    潮,汉语汉字,读作cháo意思是:海水因为受了日月的引力而定时涨落的现象像潮水那样汹涌起伏的湿方言,技术不高,我来为大家科普一下关于潮字是什么意思?以下内容希望对你有帮助!潮字是什么意思潮,汉语汉字,读作cháo。潮如今有时尚的意思,就是说某个人比较时尚,很潮。

  • 糊涂面条怎么做(如何做糊涂面条)

    接下来我们就一起去研究一下吧!糊涂面条怎么做食材:面条500克、芹菜叶子200克、玉米面300克、大葱20克、蒜1颗、花椒5克、花生100克。炒锅中加食用油加热,放入花椒炒香,然后将花椒取出,放入葱段炒香。加水,放入花生米,水烧开后倒入玉米面。再次烧开后加入面条,适当搅拌不让面条粘锅。面条熟后放入芹菜叶,搅拌均匀,放盐。炒菜勺子放油放置火上烧热,将提前准备好的蒜片放入油中,然后将勺子整个放入锅中即可。

  • 现在的手机为什么会自动关机(为什么手机有时候会自动关机)

    ,现在小编就来说说关于现在的手机为什么会自动关机?下面内容希望能帮助到你,我们来一起看看吧!实际上,有一种关机是由于研发人员,测试更新了版本,某些软件就会因此而发生问题,从而造成突然关机,但这种情况,一般研发人员会尽快来修复这些软件的错误。当然,最常见的关机诱因就是电池问题,比如在50%电量以及寒冷天气下自动关机,如果真的是手机电池的受损,那么一定要及时进行更换!

  • 小孩子如何正确学英语(下面一起来看看)

    下面希望有你要的答案,我们一起来看看吧!小孩子如何正确学英语首先,先听英文儿歌、动画片对白、英语故事、BBC的CBeebies的广播都可以。再有就是选择音频,绘本和动画片轮着来,以备进阶学习和借助多重刺激感受语言。每天能听多久便听多久,见缝插针地听。总长度每天至少保证1小时以上。其次,阅读很关键。最后,听的阅读的,家长们都需要慎重的选择好,这是保证前两者能够学好的基础。

  • 腾冲皮影的制作方法(古老皮影在逆境中复兴)

    若想手持这副“皮靠子”,端坐白幕背后,成为一名皮影戏表演者,则需要多年学习和积累。尽管如此,他认为爷爷的教导是自己日后与皮影重聚的重要原因。整理思路后,刘永周皮影馆2015年在腾冲高黎贡国际旅游城正式成立。刘朝侃说,等到资金充足,希望加大力度开发新剧目,培养专业的皮影戏表演人才。国家级非物质文化遗产传承人,刘朝侃的爷爷刘永周在刘家寨老院内制作“皮靠子”。

  • 怎么做家常韭菜鸭血(家常韭菜鸭血做法介绍)

    我们一起去了解并探讨一下这个问题吧!怎么做家常韭菜鸭血准备材料:鸭血500克,韭菜100克,黄豆芽100克蒜3粒切片,姜适量切丝,料酒,盐,胡椒粉。鸭血切成一厘米见方的块,用开水焯熟备用,黄豆芽也用开水焯熟,韭菜切断。锅里放油,四成热时放入姜丝,蒜片炒香,再把焯熟的鸭血放入用中火翻炒1-2分钟,动作要轻,以免把鸭血炒碎。加入盐和胡椒粉、料酒调味。最后把韭菜和黄豆芽放入翻炒均匀即可出锅。