
進階檔案 I/O
|
139
在每個行程的佇列裡,同步化要求(例如讀取要求)的優先權高於非同步化要求。因
此,CFQ 會讓讀取要求優先,於是可避免「寫入餓死讀取」問題。因為每個行程均有設
置佇列,CFQ I/O 排班器會公平對待所有行程,同時仍然能夠提供不錯的整體效能。
CFQ I/O 排班器非常適合大部分的工作量,這使得它成為升降器的第一選擇。
Noop I/O 排班器
Noop(無運算)I/O 排班器是最基本的升降器。它不會排序,只會進行基本的合併動
作,可用於無須排序 I/O 要求的特殊裝置。
固態硬碟
固態硬碟(Solid-state drive,簡稱 SSD)之類的快閃裝置(flash drive),這些年
來越來越受歡迎。手機和平板電腦之類的裝置全都在使用快閃記憶體,而不會使
用旋轉式的儲存裝置。相較於典型的硬碟,SSD 之類的快閃裝置具有相當低的查
找時間,因為不需要付出轉動的代價就可以找到資料的特定區塊。事實上,SSD
的存取方式與隨機存取記憶體沒有兩樣:它可以較有效率地一舉讀取大量連續的
資料團塊,而且存取裝置其他地方的資料時也不會受到懲罰。
因此,排序 I/O 要求對固態硬碟來說幾乎沒有什麼好處,而且 I/O 排班器對此類裝
置而言效用極低。所以許多系統會為固態儲存裝置使用 Noop I/O 排班器,因為它
不會提供排序功能,而只會提供(有益的)合併功能。然而,想要優化互動效能
的系統會偏愛 CFQ I/O 排班器的公平性,即使使用的是 SSD。
選擇以及設定你的 I/O 排班器
預定的 I/O ...