首页 > 代码库 > Linux下free命令输出中buffers/cache详解

Linux下free命令输出中buffers/cache详解

wKioL1RSCMbyYfpkAABWlcXhCJg646.jpg

第一行我们就不介绍了(含有total的行)红色字体部分比较重要

第二行和第三行很多人就看的不是太懂。在这里详细说下。相信你看了会多少了解点。

首先来解释下buffers和cache

    buffers:自己看看他们的英文解释很容易明白的。

        A buffer is something that has yet to be "written" to disk。意思就说将要写入硬盘中的数据的缓存

    cache:

            A cache is something that has been "read" from the disk and stored for later use.

    意思是说我们从硬盘或者存储设备读进计算机后缓存在内存中的数据。


当我们系统中的内存不够用的时候,buffers/cache所占用的内存会被系统快速释放,然后给其他应用程序来使用。这点很重要。

好了,看完buffers/cache好好理解下。我们继续往下


第二行:Mem这行是系统站在自身的角度中统计的内存情况。也就是说是站在系统的角度来统计的。其中已经used的内存中,是包含第二行中的buffers/cache所占内存在内的。


第三行:+/-buffers/cache这行,是站在应用程序角度去统计内存使用情况的。应用程序角度方面统计当然是不包括第二行中的buffers/cache的缓存所占用的大小了,其只统计应用程序占用的大小。所以你会发现一个等式

    第二行中:used - buffers - cache=第三行中的used大小。

同理第二行中:free + buffers + cache=第三行中的free大小


可能会比较绕,慢慢的理解下。

所以当我们查看内存使用情况时,要看+/-buffers/cache这行中的free大小。

相信你看了之后会对free有一个新的认识。

本文出自 “linux菜鸟” 博客,请务必保留此出处http://ludihua.blog.51cto.com/4601284/1569816

Linux下free命令输出中buffers/cache详解