⚡ 站長快讀:核心重點
- 文章屬性:科技冷知識 / 規格解析
- 核心結論:三個檔各自服務不同的記憶體機制——分頁檔擴充可認可記憶體並支撐當機傾印、休眠檔保存系統記憶體快照、交換檔專門處理被暫停的 Modern App
- 適用對象:C 槽被三個隱藏大檔吃掉幾十 GB、想知道到底能不能刪的人
📌 快速答案
一句話答案:hiberfil pagefile swapfile 三個檔裡,只有休眠檔有官方單一指令可移除;分頁檔關掉會影響藍屏傾印,交換檔則由系統自行管理。
🔍 故事的起點
打開「顯示隱藏的檔案」再取消勾選「隱藏受保護的作業系統檔案」,C 槽根目錄會突然多出三個從沒見過的大檔:hiberfil.sys、pagefile.sys、swapfile.sys。加起來動輒十幾 GB 起跳,於是網路上永遠有人在問「這三個能不能刪」。
站長我要先講一句可能不太討喜的話:這三個檔在絕大多數討論串裡是被混為一談的。很多文章直接說「都是虛擬記憶體」,然後給一串刪除指令——這是錯的。它們由不同的子系統建立、服務不同的機制,刪掉的代價也完全不同。這篇一次把 hiberfil pagefile swapfile 三個檔講清楚,而且每一條都對得回微軟官方文件。
另外會順手拆一個很常見的引用亂象:網路上關於「休眠檔預設多大」流傳著好幾個數字,而它們在官方文件裡根本不是在講同一件事。

🧪 原理拆解
pagefile.sys — 分頁檔,而且它管的是「可認可記憶體」
先講最有名的。微軟官方把分頁檔定義為「硬碟上一個選用的、隱藏的系統檔」,功能是把不常被存取的已修改分頁移出實體記憶體,讓實體記憶體留給更常用的分頁。
但真正被誤解的是它的第二個身分。官方明確寫著:系統可認可記憶體上限(commit limit)= 實體記憶體 + 所有分頁檔的總和。也就是說分頁檔不只是「RAM 不夠時的備胎」,它直接決定了系統最多能「承諾」多少虛擬記憶體出去。依官方說法,當系統認可量(commit charge)碰到上限,系統與程式就可能要不到認可記憶體,進而造成凍結、當掉等異常。
另外一個常被忽略的細節:系統管理的分頁檔會在認可量達到上限 90% 時自動長大,上限是實體記憶體的三倍或 4 GB(取大者),但不超過該磁碟區的八分之一。所以「我設固定大小比較快」這件事,在現代 Windows 上並不是穩賺。
想調整分頁檔設定的,站內有專篇:Windows 虛擬記憶體(分頁檔)設定指南。
站長的重點提醒:關掉分頁檔,預設就抓不到藍屏
這是我最想講的一段。微軟的當機還原設定文件寫得非常直白:
- 小型記憶體傾印(minidump):需要開機磁碟區上至少 2 MB 的分頁檔。(順帶一提,這個數字微軟自己也有兩個版本:當機還原設定文件寫 2 MB、分頁檔大小指引的表格寫 1 MB。取嚴的那個抓就對了。)
- 核心記憶體傾印:64 位元系統需要「RAM 大小 + 128 MB」的分頁檔空間。
- 而且官方在「秘訣」段落直接寫明:分頁檔必須位於開機磁碟區,搬走就用不到傾印功能。
換句話說,那些教你「16GB 記憶體就把分頁檔關掉」的教學,在預設設定下順手也把你未來除錯的證據關掉了。之後真的藍屏,C:\Windows\Minidump 空空如也,只能重灌。
但要講精確:官方在分頁檔文件裡留了一條後路——支撐當機傾印的可以是「分頁檔或專用傾印檔(dedicated dump file)」。也就是說分頁檔不是唯一解,只是預設的那一個。你若真要關分頁檔,就得自己另外設定專用傾印檔;沒設,除錯證據就是沒了。
hiberfil.sys — 休眠檔,而且快速啟動也靠它
休眠檔的位置與身分很明確:位於作業系統所在磁碟機的根目錄,由 Windows 核心電源管理員在安裝 Windows 時就保留下來;檔案不存在,電腦就無法休眠。
要移除它,官方給的做法是系統管理員身分開命令提示字元,執行:
powercfg.exe /hibernate off要復原則是 powercfg.exe /hibernate on。官方同時警告:停用休眠後混合式睡眠(hybrid sleep)也會失效,此時若停電就可能遺失資料。
而快速啟動(Fast Startup)與它的關係,可以從 powercfg 文件反推出來——該文件說明 /type reduced | full 時寫著:「縮減版休眠檔只支援 hiberboot」。hiberboot 就是快速啟動。所以縮減版休眠檔的存在意義,正是「不做完整休眠、但保留快速啟動」。這也代表 powercfg /hibernate off 一下去,快速啟動會一起停掉。
站內另有快速啟動的技術債與關閉指南可延伸。
⚠️ 「休眠檔預設多大」的四個數字,其實各講各的
這是本篇最想釐清的一點。網路上引用微軟文件談休眠檔大小時,經常把下面四個數字混成同一件事,實際上它們在官方文件裡的身分完全不同:
| 官方來源 | 數字 | 它真正的身分 |
|---|---|---|
| Power configuration options | 系統記憶體的 80% | 這一個才是預設值——原文為「現行版本中,預設休眠檔大小為系統記憶體大小的 80%」 |
powercfg 命令列選項 /size | 不得小於 50 | 官方對預設大小的下限設限(原句主詞就是「預設大小」),不是在說 /size 不能填小於 50 |
| 同一份 powercfg 文件附註 | HiberFileSizePercent ≥ 40 | 完整版 / 縮減版的分類條件之一,不是預設值 |
| KB 920730(停用/啟用休眠) | 「約等於安裝的 RAM」 | 概略描述,語意上更接近 100% |
站長我的判讀:只有 80% 那個是預設值,下面兩個一個是下限、一個是分類條件,拿來當「預設大小」引用就是誤讀;而 80% 高於 50% 的下限,兩句其實完全相容,不衝突。順帶戳破一個常見誤解:「不得小於 50」不代表 /size 只能填 50 以上——官方自己就示範了 powercfg /hibernate /size 0。
但 80% 這個數字也要標清楚範圍:它出自微軟給 OEM 的 Modern Standby 電源設定指引,對應的是該文件撰寫時的組建,而且官方在同一句後面就自陳「正在研議讓主要磁碟小於 128 GB 的機器改用更小的預設值」。所以最省事的做法還是直接去 C 槽看那個檔實際多大(上述三份休眠檔來源的最後更新日期已標在文末參考資料)。
若要把休眠檔改成縮減版,官方的說明是:必須先把預設大小交還給作業系統管理,因此要依序執行這兩行:
powercfg /hibernate /size 0powercfg /hibernate /type reducedswapfile.sys — 專門服務「被暫停的 Modern App」
三個裡面最沒人講清楚的就是它。它在 Windows 8 隨 Modern App(當年叫 Metro、後來的 UWP)一起誕生,位置在 %SystemDrive%。微軟 AskPerf 團隊當年的原始說明是:因為 Modern App 需要一種在傳統虛擬記憶體/分頁檔之外管理記憶體的方式,所以有了 swapfile.sys。
先講清楚這份來源的時效:這篇公告發表於 2012-10-28 Windows 8 上市期間,微軟至今沒有出過更新版說明,原文在 Microsoft Learn 上已標記為封存內容(參考資料同時列出封存版與轉貼版連結)。也就是說,下面這段機制描述是官方唯一一份完整說明,但它停在 Windows 8。
它的運作方式和分頁檔有個關鍵差別——分頁檔搬的是「分頁」,交換檔搬的是「整個 App 的私有工作集」。官方描述的流程是:
- 行程生命週期管理員(PLM)偵測到系統記憶體壓力,要求記憶體管理員(MM)清空某個已暫停 Modern App 的工作集。
- MM 把該 App 的分頁移到作業系統的 modified page list(待寫回磁碟的清單)。
- 這些分頁依照 MM 既有策略非同步寫出。
- 即使已經寫到磁碟,分頁仍會完整留在 standby list,需要時可以立刻搬回去。
官方用了一個很好的比喻:這等於是對單一 App 做休眠,使用者切回來時再喚醒。
順帶提兩件事實查核:第一,微軟官方文件(AskPerf 原始公告與分頁檔文件)都沒有寫 swapfile.sys 的預設大小,網路上流傳的固定數字出自第三方站點,不是官方規格。第二,Windows 記憶體壓力下的另一道機制是記憶體壓縮,和交換檔是兩回事,細節見Windows 11 記憶體壓縮拆解。
💡 總結:冷知識延伸
站長我每次看到「三個檔全刪省空間」的教學都會皺眉。真要說的話,這三個檔裡只有休眠檔有官方的單一指令移除方式(powercfg /hibernate off),而且移除代價很明確:沒有休眠、沒有快速啟動、沒有混合式睡眠。
分頁檔的設定位置官方有載(系統內容 → 進階 → 效能 → 設定),但要不要留是另一回事——官方在分頁檔大小指引裡講得很清楚:要產生當機傾印,分頁檔或專用傾印檔至少要存在一個、而且大小要足以支撐所選的傾印類型,否則傾印檔不會被建立;而且沒有分頁檔時,系統認可上限會略低於實體記憶體。
交換檔則是三個裡唯一微軟沒給你任何開關的:官方文件沒寫大小規則、沒寫建立條件、也沒提供移除指令。理由其實很合理——它服務的是 Modern App 的暫停與恢復,那是作業系統自己排程的行為,使用者手動干預只會讓 App 切換變慢而省不到多少空間。三個檔裡,它是最該放著不管的那一個。
真正該做的其實無聊得多:先確認 C 槽為什麼會滿。三大系統檔是可預期的固定成本,暫存檔與 Windows Update 舊版備份的長期堆積才更值得處理。
❓ 常見問題
Q:手動刪掉 hiberfil.sys 就好了嗎?
這個檔由 Windows 核心電源管理員在安裝時就保留下來,而微軟沒有提供任何手動刪除的途徑;官方文件記載的唯一移除方式是 powercfg.exe /hibernate off,照官方走就對了。
Q:那 swapfile.sys 為什麼有時候看不到?
微軟官方文件沒有說明它的建立條件與大小規則。既然官方沒寫,站長我就不替微軟編一個答案——只能說它由系統自行管理,不建議手動干預。
Q:網路上說 swapfile.sys 固定是 256 MB,是真的嗎?
那個數字站長我在微軟官方文件裡查不到。翻遍 AskPerf 原始公告與分頁檔文件,官方從頭到尾沒給過任何 swapfile.sys 的大小數字;流傳的固定值出自第三方網站,不能當規格依據。
Q:我 32GB 記憶體,分頁檔真的可以設 0 嗎?
技術上可以,但官方文件明講:核心記憶體傾印在 64 位元系統需要「RAM + 128 MB」的分頁檔,且必須在開機磁碟區。設 0 之後若要保留藍屏分析能力,就得另外設定專用傾印檔;什麼都不設,傾印就是產不出來。
Q:縮減版休眠檔和完整版差在哪?
依 powercfg 官方文件,縮減版只支援 hiberboot(快速啟動),不能做完整休眠;完整版兩者都行。判定條件是兩者擇一——「自訂過預設大小」或「HiberFileSizePercent 大於等於 40」,符合其一即視為完整版。再強調一次,這個 40 是分類條件,不是預設大小。
🔗 延伸閱讀
- C 槽又爆了?Windows 10/11 清理磁碟空間終極指南
- Windows 記憶體傾印設定:讓藍屏留下證據
- Windows 11 睡眠後無法喚醒完整解決教學
- MEMORY_MANAGEMENT (0x1A) 藍屏分析
📎 參考資料來源
📖 第一級|廠商官方:
- Introduction to page files — Microsoft Learn(頁面最後更新 2026-02-12)— 2026-08-14 查證
- Configure system failure and recovery options in Windows — Microsoft Learn(頁面最後更新 2026-02-12)— 2026-08-14 查證
- How to disable and re-enable hibernation(KB 920730)— Microsoft Learn(頁面最後更新 2026-02-12)— 2026-08-14 查證
- Powercfg command-line options — Microsoft Learn(頁面最後更新 2021-12-15)— 2026-08-14 查證
- Power configuration options(休眠檔預設 80% 之出處)— Microsoft Learn(頁面最後更新 2021-05-19)— 2026-08-14 查證
- How to determine the appropriate page file size for 64-bit versions of Windows — Microsoft Learn — 2026-08-14 查證
- RAM, virtual memory, pagefile, and memory management(分頁檔設定位置之出處,KB 2160852)— Microsoft Learn — 2026-08-14 查證
- Windows 8 / Windows Server 2012: The New Swap File — Microsoft Learn 封存版(原文 2012-10-28,頁面標記 Archived) — 2026-08-14 查證
- 同上之 Microsoft Community Hub 轉貼版 — AskPerf — 2026-08-14 查證
