1. 程式人生 > >Linux記憶體 Buffer和Cache的區別及Linux中檢視記憶體的命令free

Linux記憶體 Buffer和Cache的區別及Linux中檢視記憶體的命令free

一.

Linux中檢視記憶體的命令free

(1) free檢視的內在預設是以kb為單位,如果想以MB為單位檢視用命令 free -m    

二.Linux記憶體 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.

2.1 Cache

       Cache:快取記憶體,是位於CPU與主記憶體間的一種容量較小但速度很高的儲存器。

       由於CPU的速度遠高於主記憶體,CPU直接從記憶體中存取資料要等待一定時間週期,Cache中儲存著CPU剛用過或迴圈使用的一部分資料,當CPU再次使用該部分資料時可從Cache中直接呼叫,這樣就減少了CPU的等待時間,提高了系統的效率。

       Cache又分為一級Cache(L1 Cache)和二級Cache(L2 Cache),L1 Cache整合在CPU內部,L2 Cache早期一般是焊在主機板上,現在也都整合在CPU內部,常見的容量有256KB或512KB L2 Cache。

2.2 Buffer

       Buffer:緩衝區,一個用於儲存速度不同步的裝置或優先順序不同的裝置之間傳輸資料的區域。

通過緩衝區,可以使程序之間的相互等待變少,從而使從速度慢的裝置讀入資料時,速度快的裝置的操作程序不發生間斷。

Free命令中顯示的buffercache,它們都是佔用記憶體:

       buffer : 作為buffer cache的記憶體,是塊裝置的讀寫緩衝區,更靠近儲存裝置,或者直接就是disk的緩衝區。

       cache: 作為page cache的記憶體, 檔案系統的cache,是memory的緩衝區

       如果 cache 的值很大,說明cache住的檔案數很多。如果頻繁訪問到的檔案都能被cache住,那麼磁碟的讀IO 必會非常小。


參考:

http://blog.csdn.net/tianlesoftware/article/details/6459044

相關推薦

Linux記憶體 BufferCache區別Linux檢視記憶體命令free

一. Linux中檢視記憶體的命令free (1) free檢視的內在預設是以kb為單位,如果想以MB為單位檢視用命令 free -m     二.Linux記憶體 Buffer和Cache的區別 A buffer is something that has ye

Linux 記憶體 buffer cache區別

細心的朋友會注意到,當你在Linux下頻繁存取檔案後,實體記憶體會很快被用光,當程式結束後,記憶體不會被正常釋放,而是一直作為caching.這個問題,貌似有不少人在問,不過都沒有看到有什麼很好解決的辦法.那麼我來談談這個問題。 先來說說free命令 其中: total

Linux記憶體buffercache區別

cache是快取記憶體,用於CPU和記憶體之間的緩衝; buffer是I/O快取,用於記憶體和硬碟的緩衝 cache最初用於cpu cache, 主要原因是cpu 與memory, 由於cpu快,memory跟不上,且有些值使用次數多,所以放入 cache中,主要目的是,重複使用, 並且一級\二級物理cach

區別 Linux下編譯iostream.h的方法

# g++34example.cpp In file included from /usr/lib/gcc/x86_64-redhat-linux/3.4.6/../../../../include/c++/3.4.6/backward/iostream.h:31, from main.cpp:8: /us

rpmyum區別各自安裝解除安裝命令說明

rpm是由紅帽公司開發的軟體包管理方式,使用rpm我們可以方便的進行軟體的安裝、查詢、解除安裝、升級等工作。但是rpm軟體包之間的依賴性問題往往會很繁瑣,尤其是軟體由多個rpm包組成時。Yum(全稱為 Yellow dog Updater, Modified)是一個在Fedo

linuxbuffercache區別

做成 內存 緩沖 交換 簡單 text 操作 進程 linux系統中 ***今天我們再來簡單討論下linux系統中關於Buffer和Cache的區別,buffer與cache操作的對象就不一樣、``` 1.buffer(緩沖區) 是為了提高內存的硬盤(或其他i/o設備)

LinuxBufferCache區別

2. Buffer:緩衝區,用於儲存速度不同步的裝置或優先順序不同的裝置之間傳輸資料;通過buffer可以減少程序間通訊需要等待的時間,當儲存速度快的裝置與儲存速度慢的裝置進行通訊時,儲存慢的資料先把資料存放到buffer,達到一定程度儲存快的裝置再讀取buffer的資料,在此期間儲存快的裝置CPU可以幹其他

Linux工具效能調優系列二:buffercache

一,案例入門 我們來看一個例子,我們來看free輸出,free採集資料來源是:/proc/meminfo檔案,對於這個檔案,會貫穿這個系列。 [email protected]:~# free total used free sh

淺析靜態庫動態庫的區別linux下二者的生成使用

從程式設計的角度來講,庫檔案通常被分為靜態庫檔案和動態庫檔案,其目的在於將部分程式碼封裝在一起編譯後供自己或他人呼叫,好處在於編譯後的庫檔案看不到原始碼,可保密,同時不會因為不小心修改了函式而出問題,便於維護。但是二者之間存在一定的差異。     1.靜態庫:   &n

Linux性能優化實戰:怎麽理解內存BufferCache?(16)

inux tro parsing 內核 echo buffers block sed 性能優化 一、free數據的來源 1、碰到看不明白的指標時該怎麽辦嗎? 不懂就去查手冊。用 man 命令查詢 free 的文檔、就可以找到對應指標的詳細說明。比如,我們執行 man f

linux下 bash_profilebashrc區別

bash_profile和bashrc區別【.bash_profile 與 .bashrc 的區別】.bash_profile is executed for login shells, while .bashrc is executed for interactive non-login shells.【l

buffercache區別

buffer cache 1 cache 緩存區高速緩存,是位cpu和主內存之間容量較小但是速度很快的存儲器,因為cpu的速度遠遠高於主內存的速度,cpu從內存中讀取數據需要等待很長一段時間,cache中保存著cpu剛用過的數據或者是循環使用的數據,這時,從cache中讀取數據就會很快,減少了cpu等待

學習筆記:Linux 文件目錄屬性權限

學習筆記:linux 文件和目錄屬性及權限1 . Linux 中的文件1.1 文件屬性概述 在linux裡面一切皆文件!! Linux 系統中的文件或目錄的屬性主要包括:索引節點(inode)、文件類型、權限屬性、鏈接數、所歸屬的用戶和用戶組、最近修改時間等內容: 下面我們看一下執行ls- lhi的結果:[[

學習筆記---buffercache區別

cache一.概念buffer:緩沖區,一個用於存儲速度不同步的設備或優先級不同的設備之間傳輸數據的區域。cache: 緩存,位於CPU與主內存間的一種容量較小但速度很高的存儲器。保存著CPU剛用過或循環使用的一部分數據。二、應用場景buffer:由各種進程分配,被用在輸入隊列等方面。cache: 用在磁盤的

簡單說明buffercache區別

buffer cache 1、什麽是buffer buffer(即緩沖區),簡單的說就是將寫入磁盤的IO先寫入到內存中,當達到了一定的時間或者是一定的大小的時候,再一次性地寫入到磁盤中,這是一個取的過程!數據流向:CPU ==》內存==》磁盤 2、什麽是cache cache(緩存區),簡單的說就是為

運維職責,buffercache什麽區別?機房防止服務器斷電,遠程控制卡

電源 小時 網站 蓄電池 管理 重啟 遠程控制 遠程 進行 1.運維職責·數據不能丟·網站7*24小時運行·用戶體驗要好2.buffer和cache什麽區別?buffeer 緩沖區 數據寫入到內存的buffer區域 寫buffer‘ 寫緩沖cache

程序執行緒Linux下的程式設計

程序和執行緒及Linux下的程式設計 一、概述 程序和執行緒網路上有一堆解釋,我不喜歡抄襲,也不喜歡套用太教科書的說法。就以我自己的理解來說說程序和執行緒吧,當然自己的理解肯定不是很嚴謹,但是理解起來應該會比教科書快一點。程序和執行緒都可以認為是併發執行程式,但是隻有多處理器下的多執行緒

Linux使用者組許可權管理正則表示式

1、複製/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部檔案的屬組和其他使用者沒有任何訪問許可權。 [[email protected] ~]# cp -a /etc/skel /home/tuser1 [[email protected] ~]#

Linux下profilebashrc區別

Linux下profile和bashrc區別 1./etc/profile 用來設定系統環境引數,比如$PATH. 這裡面的環境變數是對系統內所有使用者生效的。 2./etc/bashrc 這個檔案設定系統bash shell相關的東西,對系統內所有使用者生效。只要

如何理解記憶體buffercache

一:   free資料的來源: man free buffers              Memory used by kernel buffers (Buff