bdflush(8)

NAME
bdflush - 將dirty緩存寫回到磁碟的核心守護進程。

總覽（SYNOPSIS）
bdflush [opt]

描述（DESCRIPTION）
bdflush 被用來啟動核心守護進程將記憶體中的dirty緩存寫到磁碟上。真正清潔工作是一個核心程式完成的。 bdflush實際上只是派生出一個新的進程調用這個永遠不會返回的核心程式。

bdflush 實際上也派生出第二個守護進程，這個進程實際上像一個傳統的更新程式，除了那些緩存在變化了一個位前 不會被考慮用來進行寫操作。當緩存的dirty位被置位時，時鐘開始計時。當經過一定的時間間隔後，緩存將 會被寫回到磁碟上。對於數據緩存和位元數據緩存（比如目錄，位圖，間接區塊等等）來說，時間間隔是不 同的。當你在運行bdflush時使用了一些命令行參數的時候，當前一些配置會顯示在螢幕上。數據緩存刷新間 隔的預設值是30秒，位元數據是5秒。

在正常情況下，兩個守護進程使用/etc/rc下的一個

/sbin/update

命令來執行。 值得注意的是你需要讓這個兩個守護進程同時運行，因為每個守護進程都有其作用。同時也要注意這個命令 需要在任何主I/O設備運行前執行。需要特別說明的是，在對檔案系統使用fsck命令檢查前或者將檔案系統激 活為讀寫模式前應該調用update這個命令。

當bdflush被一個沒有超級權限的使用者執行時，它就會調用flush和sync函數，然後退出。千萬不要同時運行20 個update守護進程……

「命令行選項」（COMMAND-LINE OPTIONS）

-d  顯示核心參數。使用這個選項可以防止守護進程的運行。

-h  列印出使用方法（幫助）。

-s  如果bdflush的預設為以前的update方法，就經常性的調用sync。 預設值：30秒。

-f  經常性的調用flush。預設值：5秒。

-0  檢測dirty緩存區塊時使用LRU算法的最大塊。

-1  bdflush激活時需要寫到磁碟上的最大dirty緩存數量。

-2  將clean緩存掛到標誌著空閒隊列的refill_freelist列表上的數字標識。

-3  在refill_freelist隊列中激活bdflush的dirty區塊臨界值。

-4  查詢空閒簇所使用的緩存百分比。

-5  數據緩存在刷新前的可更新時間。

-6  非數據（目錄，位圖等等）緩存在刷新前可更新時間。

-7  快速緩存調用平均持續時間。

-8  LAV比率（用來決定緩存更迭的臨界值）

作者（AUTHOR）
bdflush 是由Eric Youngdale <ericy@gnu.ai.mit.edu>編寫. 主要目的是提高核心刷新dirty緩存的靈活性，並且增加了緩存集群技術。 其他的作者還有Phil Bostley <bostley@cs.colorado.edu> 和 Daniel Quinlan <quinlan@yggdrasil.com>.

缺陷（BUGS）
如果有的話，那一定是在核心代碼中。

[中文版維護人]
billpan <billpan@netease.com>

[中文版最新更新]
2002/01/10

《中國linux論壇man手冊頁翻譯計劃》:
http://cmpp.linuxforum.net