Linux預讀遲寫與sync

2021-10-03 03:37:11 字數 422 閱讀 6018

linux系統很重要的乙個效能提公升點就是它的pagecache, 因為記憶體比io快太多了,所以大家都想進辦法來利用這個cache。 檔案系統也不例外,為了達到高效能,檔案讀取通常採用預讀來**使用者的行為,把使用者可能需要的資料預先讀取到cache去,達到高效能的目的。

當使用者儲存檔案時,linux核心並不一定立即將儲存資料寫入物理磁碟中,而是將資料儲存在緩衝區中,等緩衝區滿時再寫入磁碟,這種方式可以極大的提高磁碟寫入資料的效率。但是,也帶來了安全隱患,如果資料還未寫入磁碟時,系統掉電或者其他嚴重問題出現,則將導致資料丟失。

使用sync指令可以立即將緩衝區的資料寫入磁碟。

案例實操

(1)將資料由記憶體同步到硬碟中

[root@hadoop100桌面]#sync

(2)重啟

[root@hadoop100桌面]# reboot

Linux檔案系統預讀 二

前一篇文章仔細描述了最簡單的一種預讀情況 單程序檔案順序讀,且讀大小不超過32頁面,這裡我們來看另外一種情境 單程序檔案順序讀,讀大小為256kb,看看預讀邏輯如何處理這種情況,照例首先給出事例 事例 中我們一共進行了三次讀,順序讀,且讀的大小不定,有超過最大預讀量的,也有低於最大預讀量的。毫無疑問...

讀模式與寫模式

rdbms是寫模式 hive是讀模式 我們傳統的關係型資料庫rdbms是寫模式。在rdbms裡,我們對錶進行資料操作時候,rdbms會用資料庫的第一第二第三正規化去檢查資料的規範性,如果不符合規範,資料庫就拒絕資料的載入和操作。這個驗證過程消耗資源,在資料量大的時候,會影響效率。因為日常的關係型資料...

檔案快取 寫與讀

1.先判斷是否有sdcard以及許可權environment.getexternalstoragestate equals environment.media mounted 2.得到sdcard路徑 mnt sdcard environment.getexternalstoragedirector...