電腦基本知識拾遺(七)頁面快取資料的同步和恢複機制頁

來源:互聯網
上載者:User

標籤:

本講座Linux頁面快取資料的同步和恢複機制頁。資料同步和恢複是兩個獨立的頁面概念。資料同步處理是儲存空間/資料一致性問題快取資料和備份裝置。頁面回收是如何回收分配的記憶體空間不足的實體記憶體頁。為了獲得足夠的空間來分配一個乾淨的頁面,支援更高優先順序的工作。步在隨意時刻都有可能觸發,頁回收則是在實體記憶體使用達到一定閥值的時候觸發。


資料同步就是把實體記憶體和頁緩衝中的髒頁寫回到後備裝置的檔案裡去。有兩種方式能夠調用資料同步

1. 周期性的調用,主要是pdflush機制

2. 強制調用,比方調用sync, fsync系統調用。

當髒頁數量非常多時,核心也會強制進行資料同步,來控制髒頁的數量,使資料同步造成的IO盡量平滑


pdflush是一組核心線程。相當於核心維護了一個pdflush線程池。依據資料同步的負載來分配pdflush線程,一個pdflush線程能夠相應一個塊裝置,這樣多個pdflush線程相應多個塊裝置,能夠避免單個塊裝置的IO負載過大影響其它塊裝置的資料同步。

cat /proc/sys/vm/nr_pdflush_threads   能夠查看當前系統啟動的pdflush線程數量


給出了sync等系統調用觸發的資料完整性同步(即同步全部的髒頁),以及pdflush觸發的周期性刷出同步所調用的核心功能

1. 能夠看到資料同步的目標主要是檔案系統的對象,比方檔案系統超級塊,檔案inode中繼資料,檔案inode資料區塊。

2. 無論是資料完整性同步,還是flush同步。最後的調用路徑都彙集到了sync_sb_inodes函數。這個函數會同步給定超級塊的全部髒inodes

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvSVRlcl9aQw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" >


同步一個超級塊的全部髒inodes 假設每次都要遍曆全部的inode鏈表去過濾髒inode。那效率是相當低下的。實際上核心專門維護了一個髒inode鏈表。通過超級塊的super_block --> s_dirty指標指向這個髒inode鏈表。這樣僅僅要依次對這個鏈表的inode進行同步就可以。


對一個inode同步包含兩部分,中繼資料同步和資料區塊同步。核心提供了非常多標誌位來細化資料同步的操作細節。


比較幾個強制同步的系統調用

sync:同步全部的髒頁。是資料完整性同步。當IO請求發送到請求隊列後就返回,不等待磁碟操作的完畢。

當磁碟發生問題時可能造成資料丟失

fsync: 對單個檔案的中繼資料和資料區塊同步,等待直到磁碟操作完畢後才返回,保證了資料的可靠性

fdatasync: 對單個檔案的資料區塊同步。等待直到磁碟操作完畢後才返回,保證了資料的可靠性

msync:對mmap產生的髒頁進行同步


頁回收機制包括了三部分,資料刷出flush, 交換swap, 釋放release.

資料刷出flush和資料同步是類似的,就是把有後備檔案的頁緩衝都同步到磁碟,從而能夠回收這些頁面

交換swap主要是對匿名映射,私人映射,malloc動態分配的記憶體這些沒有後備檔案的記憶體頁進行回收,把他們交換到位於磁碟的交換區,從而能夠回收這些頁面

釋放release主要是一些針對一些LRU的僅僅讀記憶體頁,在壓力大的情況下直接釋放,從而能夠回收這樣頁面


核心的頁面回收機制主要要解決幾個問題:

1. 採用何種回收演算法來保證最大的收益

2. 回收哪些頁

3. 怎樣組織交換區,怎樣存取交換區中頁

4. 在回收壓力大的情況下怎樣避免頁顛簸


著作權聲明:本文博主原創文章,部落格,未經同意不得轉載。

電腦基本知識拾遺(七)頁面快取資料的同步和恢複機制頁

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.