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/cached 是等於可用的,因為buffer/cached是為了提高檔案讀取的效能,當應用程式需在用到記憶體的時候,buffer/cached會很快地被**。
所以從應用程式的角度來說,可用記憶體=系統free memory+buffers+cached.
什麼時候記憶體會被交換,以及按什麼方交換。
下面是buffers與cached的區別。
buffers是指用來給塊裝置做的緩衝大小,他只記錄檔案系統的metadata以及 tracking in-flight pages.
cached是用來給檔案做緩衝。
那就是說:buffers是用來儲存,目錄裡面有什麼內容,許可權等等。
而cached直接用來記憶我們開啟的檔案,如果你想知道他是不是真的生效,你可以試一下,先後執行兩次命令#man x ,你就可以明顯的感覺到第二次的開打的速度快很多。
實驗:在一台沒有什麼應用的機器上做會看得比較明顯。記得實驗只能做一次,如果想多做請換乙個檔名。
#free
#man x
#free
#man x
#free
你可以先後比較一下free後顯示buffers的大小。
另乙個實驗:
#free
#ls /dev
#free
你比較一下兩個的大小,當然這個buffers隨時都在增加,但你有ls過的話,增加的速度會變得快,這個就是buffers/chached的區別。
因為linux將你暫時不使用的記憶體作為檔案和資料快取,以提高系統效能,當你需要這些記憶體時,系統會自動釋放(不像windows那樣,即使你有很多空閒記憶體,他也要訪問一下磁碟中的pagefiles)
使用free命令
將used的值減去 buffer和cache的值就是你當前真實記憶體使用 ————– 對作業系統來講是mem的引數.buffers/cached 都是屬於被使用,所以它認為free只有16936.
對應用程式來講是(-/+ buffers/cach).buffers/cached 是等同可用的,因為buffer/cached是為了提高 程式執行的效能,當程式使用記憶體時,buffer/cached會很快地被使用。 所以,以應用來看看,以(-/+ buffers/cache)的free和used為主.所以我們看這個就好了.另外告訴大家 一些常識.linux為了提高磁碟和記憶體訪問效率, linux做了很多精心的設計, 除了對dentry進行快取(用於 vfs,加速檔案路徑名到inode的轉換), 還採取了兩種主要cache方式:buffer cache和page cache。 前者針對磁碟塊的讀寫,後者針對檔案inode的讀寫。這些cache能有效縮短了 i/o系統呼叫(比如read,write,getdents)的時間。 記住記憶體是拿來用的,不是拿來看的.不象windows,無論你的真實物理記憶體有多少,他都要拿硬碟交換 檔案來讀.這也就是windows為什麼常常提示虛擬空間不足的原因.你們想想,多無聊,在記憶體還有大部分 的時候,拿出一部分硬碟空間來充當記憶體.硬碟怎麼會快過記憶體.所以我們看linux,只要不用swap的交換 空間,就不用擔心自己的記憶體太少.如果常常swap用很多,可能你就要考慮加物理記憶體了.這也是linux看 記憶體是否夠用的標準哦.
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 對於應用程式來說,buffe...
free命令中buffers與cached的區別
執行free命令後,會顯示buffers和cached選項 free total used free shared buffers cached mem 3085864 2200144 885720 0 595440 1273512 buffers cache 331192 2754672 swap...
多核與多個CPU啥區別
處理器如今已經成為影響人們購買it產品的重要因素,無論是pc 手機還是伺服器市場,處理器的型號直接影響到產品的 情況。對於手機和pc等消費產品來說,使用者可以從cpu頻率 核心數等要素分辨出處理器效能的優劣。但是對於多核心的伺服器產品來說,如何來分辨多核心與多個cpu產品的效能呢?要分辨出多核心處理...