美文网首页
Linux VPS MemTotal、MemFree及MemAv

Linux VPS MemTotal、MemFree及MemAv

作者: ModestStorm | 来源:发表于2020-05-06 14:14 被阅读0次

    1、MemTotal

    MemTotal译为内存总大小,是系统从加电开始到引导完成,BIOS等要保留的部分内存,内核要保留的部分内存,最后剩下可供系统支配的内存就是MemTotal,这个值在Linux VPS运行过程中基本是不变的。

    2、MemFree

    MemFree译为空闲内存大小,表示系统尚未使用的内存,其中,MemUsed=MemTotal-MemFree,表示已被使用过的内存。

    3、MemAvailable

    MemAvailable译为可用内存数大小,这是因为系统中有些内存虽然已被使用但可以回收,比如cache/buffer、slab都有一部分是能够被回收的,所以MemFree不能代表全部可用的内存,这部分可回收内存加上MemFree才是系统可用的内存,也就是:MemAvailable≈MemFree+Buffers+Cached,当然它是一个估值。

    注意:MemAvailable与MemFree的关键区别在于,MemAvailable是应用程序层面的内存大小,而MemFree是系统层面的内存大小。

    除了以上三个主要内存的概念和区别之外,以下几个概念对内存也有间接的影响,他们分别是:

    Buffer:缓冲区内存数;

    Cache:缓存区内存数;

    Shared:多个进程共享的内存空间。

    其中,Buffer与Cache的主要区别有以下两点:

    首先,Buffer是缓冲的意思,Cache是缓存的意思,从而概念上来看这二者就有很明显的区别,一个是像弹簧一样具有缓冲,一个像保管箱,可以进行短暂的存储。

    其次,它们也被称作write-buffer和read-cache,所以Buffer一般用作写操作,Cache一般用在读操作上面。

    根据上图的“free”命令,这里简单总结下这几个内存概念直接的计算公式,即:

    Mem total =Mem used +Mem free

    buffers/cache used = Mem used -Mem buffers – Mem cached

    buffers/cache free =Mem free + Mem buffers +Mem cached

    buffers/cache total =buffers/cache used + buffers/cache free =Mem total

    总的来说,MemTotal、MemFree及MemAvailable之间有一定的区别和联系

    相关文章

      网友评论

          本文标题:Linux VPS MemTotal、MemFree及MemAv

          本文链接:https://www.haomeiwen.com/subject/qkqwghtx.html