Linux記憶體buffer與cache區別

2021-10-11 02:29:24 字數 1624 閱讀 4238

一、首先大概了解一下計算機cpu、cache、buffer、記憶體、硬碟、swap

cpu也稱為**處理器(cpu,central processing unit)是一塊超大規模的積體電路,是一台計算機的運算核心(core)和控制核心( control unit)。它的功能主要是解釋計算機指令以及處理計算機軟體中的資料。**處理器主要由三核心部件組成,運算器、控制器和匯流排(bus),運算器又主要由算術邏輯單元(alu)和暫存器(rs)組成。

cpu cache(快取區)即高速緩衝儲存器,整合在cpu處理器,是位於cpu與主記憶體間的一種容量較小但速度很高的儲存器。由於cpu的速度遠高於主記憶體,cpu直接從記憶體中訪問資料要等待一定時間週期,cache中儲存著cpu剛用過或迴圈使用的一部分資料,當cpu再次使用該部分資料時可從cache中直接呼叫,這樣就減少了cpu的等待時間,提高了系統的效率。

memory(記憶體)是計算機中重要的部件之一,它是與cpu進行溝通的橋梁。計算機中所有程式的執行都是在記憶體中進行的,因此記憶體的效能對計算機的影響非常大。記憶體(memory)也被稱為記憶體儲器,其作用是用於暫時存放cpu中的運算資料,以及與硬碟等外部儲存器交換的資料。

記憶體cache(快取區)一般是用在讀取磁碟,當使用者需要訪問伺服器資料時,伺服器會優先把硬碟需要訪問的資料直接寫入到記憶體,再從記憶體載入到比記憶體更快的cache快取區,當使用者訪問時,速度會更快。

記憶體buffer(緩衝區)一般是用在寫入磁碟,當儲存速度快的裝置與儲存速度慢的裝置進行通訊時,儲存慢的資料先把資料存放到buffer,達到一定時間或buffer儲存量時,buffer的資料會寫入到記憶體,清空buffer資料提供後面資料繼續寫入,在此期間儲存快的裝置cpu可以幹其他的事情。

harddisk(硬碟)是電腦主要的儲存媒介之一,由乙個或者多個鋁製或者玻璃制的碟片組成。硬碟有固態硬碟(ssd 盤,新式硬碟)、機械硬碟(hdd 傳統硬碟)、混合硬碟(hhd)。

swap(虛擬記憶體)是計算機系統記憶體管理的一種技術,它是從硬碟上劃分出一塊空間來充當虛擬記憶體使用。當物理記憶體接近飽和時,系統會自動將不常用的記憶體檔案轉儲到swap中,但swap使用越多的時候對系統效能造成一定影響。

記憶體buffer與cache區別?

buffer將資料寫入到記憶體裡,這個資料的記憶體空間在linux系統裡一般被稱為緩衝區(buffer),寫入到記憶體buffer緩衝區,寫緩衝。

cache從記憶體讀取資料,這個資料的記憶體空間在linux系統裡一般被稱為快取區(cache),從記憶體cache讀取,快取區,讀快取。

cache一般用於讀取資料,buffer一般用於寫入資料。記憶體一般有兩個引數memory cache和memory buffer。

linux 命令 free 命令檢視的是指的是memory cache 不是 cpu cache.

linux記憶體中buffer和 cached的比較

經常遇到一些剛接觸linux的新手會問記憶體占用怎麼那麼多?在linux中經常發現空閒記憶體很少,似乎所有的記憶體都被系統占用了,表面感覺是記憶體不夠用了,其實不然。這是linux記憶體管理的乙個優秀特性,在這方面,區別於windows的記憶體管理。主要特點是,無論物理記憶體有多大,linux 都將...

linux 記憶體中Buffer和Cache的區別

具體怎麼理解?通過實驗發現,比較寫資料到檔案和寫資料到磁碟 比較從檔案中讀取資料和從磁碟中讀資料 實驗資料參考 簡單理解 buffer 是對磁碟資料的快取,而 cache 是檔案資料的快取。同學 geek 5258f8 的解答 理論上,乙個檔案讀首先到block buffer,然後到page cac...

Linux記憶體buffer和cache的區別

記憶體使用說明 free 命令相對於top 提供了更簡潔的檢視系統記憶體使用情況 root rac1 free total used free shared buffers cached mem 1035108100898426124 0 124212 413000 buffers cache 47...