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