剩餘物理記憶體 free buffer cache

2021-10-16 22:40:41 字數 893 閱讀 9507

一、快取清空

1.1 檢視快取 命令free -m

1.2 清空快取 命令echo 3>/proc/sys/vm/drop_caches

1.3 檢視快取 命令 free -m

二、.生成檔案

檢視記憶體使用情況 df -h

命令 dd if=/dev/sda2 of=youceedufile bs=1m count=100

dd快速建立檔案 每次往硬碟上寫1m,寫100次,也就是往硬碟上寫乙個100m大小的檔案

三、往磁碟寫完檔案再次檢視快取

命令free -m

四、總結:

往linux系統寫檔案時,物理記憶體拿出剩餘的記憶體讓buffer 和cache儲存剛寫入系統的檔案內容。

也就是從free中拿出100m給buffer,拿出100m給cache。此時剩餘記憶體降低,buffer記憶體增大,cache記憶體增大

buffer是快取檔案,當從磁碟中讀取檔案的時候不會往buffer中存,只儲存在了cache中

time cat youceedufile > /dev/null—>從cache讀取檔案,用時0.061s

清空快取 echo 3 > /proc/sys/vm/drop_caches

time cat youceedufile >/dev/null–>變成從磁碟讀檔案,用時0.62s

總結:對磁碟內容進行讀取的時候,物理記憶體會拿出剩餘記憶體給cache來儲存檔案。

cache是快取檔案,同時也可對外提供讀取。

rm -rf磁碟刪除檔案後,只會刪除快取檔案,buffer中的檔案沒有刪除,原因是下次再往磁碟寫同樣檔案時效率會提公升。

當物理記憶體free的值很低的時候,會自動刪除一定週期內使用不頻繁的檔案。

剩餘物理記憶體=free + buffer + cache

物理記憶體管理

linux核心管理物理記憶體是通過分頁機制實現的,它將整個記憶體劃分成無數個4k 在i386體系結構中 大小的頁,從而分配和 記憶體的基本單位便是記憶體頁了。系統在分配記憶體時不再要求大塊的連續記憶體,但是實際上系統使用記憶體時還是傾向於分配連續的記憶體塊。為了儘量減少不連續情況,核心採用了 夥伴 ...

物理記憶體連續記憶體分配

記憶體管理的要求 共享 訪問相同記憶體 記憶體管理方式 重定位,relocation,段位址 偏移 分段,segmentation,資料,堆疊分成三塊,每段連續 分頁,paging,記憶體分為最基本的單位,房子的磚塊 虛擬儲存 virtual memory,linux採用按需頁式虛擬儲存 邏輯位址空...

記憶體管理 物理記憶體 虛擬記憶體

記憶體管理 物理記憶體 pc上有三條匯流排,分別是資料匯流排 位址匯流排和控制匯流排。32位的cpu的定址能力為4gb 2 32 個位元組。使用者最多 可以使用4gb的真實的物理記憶體。記憶體管理 虛擬記憶體 windows的所有程式 包括ring0層和ring3層的程式 可以操作的都是虛擬記憶體。...