Linux 系統緩存機制學習

前言:本文爲參考他人的文章,是一篇學習記錄型博客。理解linux的系統緩存機制有助於理解elasticsearch實時更新的原理。

1、緩存機制

爲了提升文件系統性能,內核利用一部分物理內存分配出緩衝區,用於緩存系統操做和數據文件,當內核收到讀寫的請求時,內核先去緩存區找是否有請求的數據,有就直接返回,若是沒有則經過驅動程序直接操做磁盤。linux

緩存機制優勢:減小系統調用次數,下降CPU上下文切換和磁盤訪問頻率。緩存

2、查看緩衝區及內存使用狀況

  • 第一行Mem: 表示物理內存統計
    total:elasticsearch

    used:性能

    free:學習

    shared:blog

    buffers:內存

  • 第二行-/+ buffers/cache:表示物理內存的緩存統計
    used2:博客

    free2:it

  • 第三行Swap: Swap意思是交換分區,,是從硬盤中劃分出的一個分區。當物理內存不夠用的時候,內核就會釋放緩存區(buffers/cache)裏一些長時間不用的程序,而後將這些程序臨時放到Swap中,也就是說若是物理內存和緩存區內存不夠用的時候,纔會用到Swap。ast

3、buffers 和 cached的區別

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 內核在保證系統能正常使用物理內存和數據量讀寫狀況下來分配緩衝區大小。buffers用來緩存metadata及pages,能夠理解爲系統緩存。cached是用來給文件作緩存,能夠理解爲數據塊緩存。 那就是說:buffers是用來存儲,目錄裏面有什麼內容,權限等等。 而cached直接用來記憶咱們打開的文件,若是你想知道他是否是真的生效,你能夠試一下,前後執行兩次命令#man X ,你就能夠明顯的感受到第二次的開打的速度快不少。

相關文章
相關標籤/搜索