<menu id="w8yyk"><menu id="w8yyk"></menu></menu>
  • <dd id="w8yyk"><nav id="w8yyk"></nav></dd>
    <menu id="w8yyk"></menu>
    <menu id="w8yyk"><code id="w8yyk"></code></menu>
    <menu id="w8yyk"></menu>
    <xmp id="w8yyk">
    <xmp id="w8yyk"><nav id="w8yyk"></nav>
  • 網站首頁 > 物聯資訊 > 技術分享

    free命令、buffer與cache的區別

    2016-09-28 00:00:00 廣州睿豐德信息科技有限公司 閱讀
    睿豐德科技 專注RFID識別技術和條碼識別技術與管理軟件的集成項目。質量追溯系統、MES系統、金蝶與條碼系統對接、用友與條碼系統對接 free
    free 命令相對于top 提供了更簡潔的查看系統內存使用情況:

    # free
                 total       used       free     shared    buffers     cached
    Mem:        255988     231704      24284          0       6432     139292
    -/+ buffers/cache:      85980     170008
    Swap:       746980          0     746980
    

    Mem:表示物理內存統計 
    -/+ buffers/cached:表示物理內存的緩存統計 
    Swap:表示硬盤上交換分區的使用情況,這里我們不去關心。
    系統的總物理內存:255988Kb(256M),但系統當前真正可用的內存并不是第一行free 標記的 24284Kb,它僅代表未被分配的內存。

    我們使用total1、used1、free1、used2、free2 等名稱來代表上面統計數據的各值,1、2 分別代表第一行和第二行的數據。

    total1:表示物理內存總量。 
    used1:表示總計分配給緩存(包含buffers 與cache )使用的數量,但其中可能部分緩存并未實際使用。 
    free1:未被分配的內存。 
    shared1:共享內存,一般系統不會用到,這里也不討論。 
    buffers1:系統分配但未被使用的buffers 數量。 
    cached1:系統分配但未被使用的cache 數量。buffer 與cache 的區別見后面。 
    used2:實際使用的buffers 與cache 總量,也是實際使用的內存總量。 
    free2:未被使用的buffers 與cache 和未被分配的內存之和,這就是系統當前實際可用內存。


    可以整理出如下等式:

    total1 = used1 + free1

    total1 = used2 + free2

    used1 = buffers1 + cached1 + used2

    free2 = buffers1 + cached1 + free1

    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.
      兩者都是RAM中的數據。簡單來說,buffer是即將要被寫入磁盤的,cache是被從磁盤中讀出來的。
    buffer是由各種進程分配的,被用在如輸入隊列等方面,一個簡單的例子如某個進程要求有多個字段讀入,在所有字段被讀入完整之前,進程把先前讀入的字段放在buffer中保存。
    cache經常被用在磁盤的I/O請求上,如果有多個進程都要訪問某個文件,于是該文件便被做成cache以方便下次被訪問,這樣可提供系統性能。
    RFID管理系統集成商 RFID中間件 條碼系統中間層 物聯網軟件集成
    最近免费观看高清韩国日本大全