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