設置大小合適的Win7休眠文件Hiberfil.SYS
Hiberfil.SYS 是 Windows 休眠功能(Windows Hibernation)將內存數(shù)據(jù)與會話保存至硬盤、以便計算機斷電重新啟動后可以快速恢復會話所需的內存鏡像文件。在早期版本的 Windows 中,Hiberfil.SYS 文件的大小等同于物理內存大小;而在 Windows 7 中,Hiberfil.SYS 可以在物理內存大小的 50%-100% 的范圍自行調整。因此, Windows 7 的 Hiberfil.SYS 大小不一定等同于物理內存大小。
Windows 7 之所以出現(xiàn)這種改變,主要是出于節(jié)省系統(tǒng)分區(qū)的硬盤空間考慮。因為 Hiberfil.SYS 必須位于系統(tǒng)分區(qū)的根目錄,我們無法修改其文件名及所在位置。
曾經(jīng)有人在微軟中文技術論壇中問過,為什么無法將 Hiberfil.SYS 由系統(tǒng)分區(qū)根目錄轉移至其它位置,這是由于 Windows 要想在硬盤的其它位置讀取啟動文件,必須首先加載文件系統(tǒng)驅動程序。但是已經(jīng)轉入休眠狀態(tài)的 Windows,其文件系統(tǒng)驅動程序在 Hiberfil.SYS 里。不加載文件系統(tǒng)驅動,Windows 就無法讀取 Hiberfil.SYS;不讀取 Hiberfil.SYS,Windows 就無法加載文件系統(tǒng)驅動。這好比黃宏在春晚小品中表演的那個情節(jié)一樣:林永健不打開箱子,黃宏就取不出身份證明;但黃宏不出示證件,林永健就無權打開箱子。為了解決這個矛盾,Windows 唯有在讀取 Hiberfil.SYS 之前加載一個小型的文件系統(tǒng)驅動程序,但是這個小型的驅動程序只能訪問系統(tǒng)分區(qū)根目錄中包括 Hiberfil.SYS 在內的有限的若干系統(tǒng)文件。這就是為什么 Hiberfil.SYS 無法由系統(tǒng)分區(qū)根目錄轉移至其它位置的原因。
無法修改 Hiberfil.SYS 的所在位置是 Windows 7 減小 Hiberfil.SYS 的原因之一;提高 Hiberfil.SYS 的文件利用率是減小 Hiberfil.SYS 的另一個原因。隨著計算機物理內存容量越來越大,多數(shù)計算機都有相當一部分物理內存處于空閑狀態(tài),并非每次休眠都有完全等同于物理內存容量的內存數(shù)據(jù)需要保存為 Hiberfil.SYS。在早期版本的 Windows 中,盡管 Hiberfil.SYS 的大小始終等同于物理內存大小,但 Windows 每次休眠時也并沒有從頭到腳地更新 Hiberfil.SYS 的所有內容。換言之,早期版本的 Windows 的 Hiberfil.SYS 存在著沒有充分利用的浪費的空間。
基于以上兩個原因,為了節(jié)省系統(tǒng)分區(qū)的硬盤空間,Windows 7 在計算機轉入休眠之前,可以將內存數(shù)據(jù)進行 0-50% 比率的壓縮,從而將 Hiberfil.SYS 減小為物理內存大小的 50%-100%。這個百分比可以通過 POWERCFG 命令配合 -H -SIZE <Percentage> 參數(shù)進行設置。
例如,在物理內存容量 2GB 的 Windows 7 計算機中,如果以管理員權限執(zhí)行命令:
POWERCFG -H -SIZE 70
即可將這臺計算機的 C:\Hiberfil.SYS 減小為 2GB 的 70%,即 1.4GB。
在默認的系統(tǒng)設置中,Windows 7 使用物理內存容量的 75% 做為 Hiberfil.SYS 默認的文件大小,這是 Windows 開發(fā)團隊在評估了大多數(shù)計算機的物理內存容量與內存空間占用后設置的平衡值。百分比設置得太大,容易造成系統(tǒng)分區(qū)空間浪費;百分比設置得太小,也可能因為 Hiberfil.SYS 空間不足引起休眠失敗。如果我們在 Windows 7 中執(zhí)行休眠時遇到如下故障代碼的藍屏,即表明當前 Hiberfil.SYS 設置得太小了:
STOP:0x000000A0 INTERNAL_POWER_ERROR
參數(shù) 1
參數(shù) 2
參數(shù) 3
(參數(shù) 1 始終為 0x0000000B、參數(shù) 2 是 Hiberfil.SYS 大小的字節(jié)數(shù)、參數(shù) 3 是無法被壓縮并寫入 Hiberfil.SYS 的剩余的內存數(shù)據(jù)字節(jié)數(shù))
此時,我們必須放棄失敗的休眠,以正常模式重新啟動 Windows 7,然后重新設置 Hiberfil.SYS 的大小。
總之,我們在 Windows 7 中可以根據(jù)自己計算機的實際情況,通過 POWERCFG -H -SIZE <Percentage> 設置合適的 Hiberfil.SYS 大小。如果計算機內存容量不大或硬盤容量很大,不在乎幾百 MB 至 1GB 的空間開銷,我們可以將 Hiberfil.SYS 設置為物理內存容量的 100%,這樣 Windows 7 可以省去壓縮內存數(shù)據(jù)的步驟;如果計算機內存容量很大或系統(tǒng)分區(qū)可用空間非常緊張,可以將 Hiberfil.SYS 設置為更小的物理內存容量百分比,但要小心 Hiberfil.SYS 設置得太小可能會存在休眠失敗的風險。對于大部分的普通用戶而言,如果我們不確定應該如何設置 Hiberfil.SYS 的大小,保持 Windows 7 默認設置的 Hiberfil.SYS 為物理內存容量的 75% 即可。
關鍵詞:Hiberfil.SYS
閱讀本文后您有什么感想? 已有 人給出評價!
- 1
- 0
- 0
- 1
- 0
- 0