• Linux Free命令各数字含义及Buffer和Cache的区别


    [root@vm1 ~]# free -m 
    total used free shared buffers cached
    Mem: 490 116 374 0 10 45
    -/+ buffers/cache: 60 430
    Swap: 815 0 815

    按行详解

    • total :物理内存的实际总量
    • used :总计分配给缓存(buffer+cache)的使用的数量,但是其中部分可能并未实际使用(注意:这里不是实际使用了的内存)
    • free :未被分配的内存(真正的空闲,未被任何程序占用)
    • shared:多个进程共享的内存总额
    • buffers:磁盘缓存(buffer cache)的大小(可提高I/O调用的性能),系统分配的,但是未被使用的buffer剩余量。
    • cached:磁盘缓存(page cache)的大小(可提高I/O调用的性能),系统分配的,但是未被使用的cache剩余量。
    • -buffers/cache:表示已被我们程序使用的内存数,计算方法:used-buffers-cached(注意:这里才是内存的实际使用量)
    • +buffers/cache:表示还可被我们使用的内存数,计算方法:free+buffers+cached
    • swap:交换分区总量,使用量,剩余量

    内存相关参数计算-数字取自上述结果

    操作系统总的内存数量:used+free=116+374=490MB
    操作系统目前内存实际使用量:used-buffers-cached=116-10-45=61MB
    操作系统目前可用内存总量:free+buffers+cached=374+10+45=429MB

    cache和buffer的区别

    1.cache:高速缓存,是位于CPU与主内存之间的一种容量较小但是速度较高的存储器,由于CPU的速度远高于主内存,CPU直接从内存中存取数据需要等待一定的时间周期。cache中保存着CPU刚用过或循环使用的一部分数据,当CPU再次使用该部分数据时可从cache中直接调用,这样就减少了CPU的等待时间,提高了系统的效率。
    cache又分为一级cache(L1 cache)和二级cache(L2 cache),L1集成在CPU内部,L2早期一般时焊在主板上的,现在也都即成在CPU内部,常见L2 cache的容量有256KB或512KB。
    2.buffer:缓冲区,一个用于存储速度不同步的设备或优先级不同的设备之间传输数据的区域。通过缓冲区,可以使进程之间的相互等待变少。速度快的设备可以利用buffer不间断的进行写操作,速度慢的设备可以直接从buffer中读取数据,减少速度快的设备的等待时间,提高效率。

    简单来书说,buffer是即将要被写入磁盘的,cache是被从磁盘中读出来的
    cache:文件系统的缓冲(page cache)
    buuffer:块设备的读写缓冲区(buffer cache)

  • 相关阅读:
    Python基础——内置函数
    HHKB Mac快捷键使用
    解决EditText在ListView Item中,第一次点击无法获取焦点问题
    Android 设置Spinner默认显示文字
    IOS-静态Cell
    android-创建流式布局,并修改最后一行的最后一个view
    最简单的设置ExitText只能输入数字和字母的方法
    Android studio私人常用快捷键(持续更新)
    IOS-NSNotification(通知)
    Android书单(持续更新)
  • 原文地址:https://www.cnblogs.com/Jack1023/p/7240400.html
Copyright © 2020-2023  润新知