在 Linux 中,可在不需使用硬碟時,讓硬碟完全進入睡眠狀態,或是讓硬碟以更省電、更安靜的方式來運作。在目前的筆記型電腦中,您不用手動關閉硬碟,因為它們會在不用的時候自動進入省電操作模式。不過,如果您想最大化省電效果,可嘗試下列幾種方法。
hdparm 應用程式能修改各種硬碟設定。-y 選項能立即將硬碟切換到待命模式。-Y 能讓它進入睡眠。hdparm -s x 則會讓硬碟閒置一段時期後關閉。如下所示取代 x:0 會停用此機制,使得硬碟持續執行。1 到 240 的值將乘以 5 秒。241 到 251 的值則是以 30 分鐘為一個單位,依序從 30 分鐘的閒置到 11 倍的 330 分鐘的閒置。
可以使用 -B 選項來控制硬碟內部的省電選項。可從 0 到 255 中選取一個值,以最大化省電效果或最大化電力輸出。其結果視硬碟用途而定,難以評估。如果要減少硬碟噪音,請使用 -M 選項。從 128 到 254 中選取一個值,以決定要安靜或快速。
通常,要讓硬碟進入睡眠不是件容易的事。在 Linux 中,會有多個程序寫入硬碟中,因而重複喚醒硬碟。因此,有必要去瞭解 Linux 如何處理那些要寫入硬碟的資料 首先,會將所有資料在 RAM 中做緩衝處理。pdflush 精靈會監控此緩衝區。當資料到達特定的時間限制,或當緩衝區已填滿至某一程度時,會將緩衝區的內容注入硬碟。緩衝區的大小則動態地由記憶體地的大小及系統負載來決定。依預設,pdflush 會設成較短的間隔,以最大化資料的完整性。pdflush 每 5 秒檢查一次緩衝區,並將資料寫入硬碟。以下變數較為重要:
包含 pdflush 線串喚醒前的延遲時間 (以百分之一秒計)。
定義最遲應在其後將改動分頁寫出的時間框架。預設為 3000,即 30 秒。
pdflush 開始寫入改動分頁之前改動分頁的最大百分比。預設為 5%。
改動分頁超過此總記憶體的百分比時,系統會強制執行程序以在其時間片段內將改動寫入緩衝區,而不是繼續寫入改動。
警告: 損害資料完整性
變更 pdflush 精靈的設定會損害資料的完整性。
除了這些程序之外,ReiserFS 與 Ext3 等記錄檔案系統不經由 pdflush 即將中繼資料寫入硬碟,也會使得硬碟無法減速。為了避免這類情形,正在開發適用於行動設備的核心延伸程式。請參閱 /usr/src/linux/Documentation/laptop-mode.txt 以取得詳細資訊。
另一個重要因素在於啟動程式的行為方式。例如,好的編輯器會定期為修改中的檔案,將隱藏備份檔寫入硬碟,因而喚醒硬碟。停用這類功能可能會傷害資料的完整性。
與此相關,postfix 郵件精靈會使用 POSTFIX_LAPTOP 變數。如果將此變數設為 yes,postfix 會減少存取硬碟的頻率。
在 SUSE Linux Enterprise Server 中,這些技術是由 laptop-mode-tools 控制的。