一、首先大概了解一下計算機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可以干其他的事情。
Hard Disk(硬盤)是電腦主要的存儲媒介之一,由一個或者多個鋁制或者玻璃制的碟片組成。硬盤有固態硬盤(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.