pdflush的工作原理

2021-06-04 22:51:01 字數 972 閱讀 4513

大家知道,在linux作業系統中,寫操作是非同步的,即寫操作返回的時候資料並沒有真正寫到磁碟上,

而是先寫到了系統cache裡,隨後由pdflush核心執行緒將系統中的髒頁寫到磁碟上,在下面幾種情況下,

系統會喚醒pdflush回寫髒頁:

1 、定時方式:

定時機制定時喚醒pdflush核心執行緒,週期為/proc/sys/vm/dirty_writeback_centisecs ,單位

是(1/100)秒,每次週期性喚醒的pdflush執行緒並不是回寫所有的髒頁,而是只回寫變髒時間超過

/proc/sys/vm/dirty_expire_centisecs(單位也是1/100秒)。

注意:變髒的時間是以檔案的inode節點變髒的時間為基準的,也就是說如果某個inode節點是10秒前變髒的,

pdflush就認為這個inode對應的所有髒頁的變髒時間都是10秒前,即使可能部分頁面真正變髒的時間不到10秒,

細節可以檢視核心函式wb_kupdate()。

2、 記憶體不足的時候:

這時並不將所有的dirty頁寫到磁碟,而是每次寫大概1024個頁面,直到空閒頁面滿足需求為止。

3 、寫操作時發現髒頁超過一定比例:

當髒頁佔系統記憶體的比例超過/proc/sys/vm/dirty_background_ratio 的時候,write系統呼叫會喚醒

pdflush回寫dirty page,直到髒頁比例低於/proc/sys/vm/dirty_background_ratio,但write系統調

用不會被阻塞,立即返回。當髒頁佔系統記憶體的比例超過/proc/sys/vm/dirty_ratio的時候, write系

統呼叫會被被阻塞,主動回寫dirty page,直到髒頁比例低於/proc/sys/vm/dirty_ratio,這一點在

2.4核心中是沒有的。

4 、使用者呼叫sync系統呼叫:

這是系統會喚醒pdflush直到所有的髒頁都已經寫到磁碟為止。

簡述hdfs工作原理 HDFS的工作原理

hdfs 的工作原理 hadoop 分布式檔案系統 hdfs 是一種被設計成適合執行在通用硬體上的分布式檔案系統。hdfs 是乙個高度容錯性的系統,適合部署在廉價的 機器上。它能提供高吞吐量的資料訪問,非常適合大規模資料集上的應用。要理解 hdfs 的內部工作原理,首先要理解什麼是分布式 檔案系統。...

ogg mysql的原理 OGG工作原理

一.goldengate介紹 ogg 是一種基於日誌的結構化資料複製軟體 ogg 能夠實現大量交易資料的實時捕捉,變換和投遞,實現源資料庫與目標資料庫的資料同步,保持最少10ms的資料延遲 二.工作原理 三.相關元件 1.manager 負責ogg 整體的監控和管理 1 trail檔案的生成和刪除 ...

SNMP的工作原理

snmp network management protocol,簡單網路管理協議 首先是由ietf的研究小組為了解決internet上的路由器管理問題而提出的。snmp的設計原則是簡單 性和擴充套件性。簡單性是通過資訊型別限制 請求響應或協議而取得。擴充套件性是通過將管理資訊模型與協議 被管理物件...