hiberfil.sys 是怎么回事
开启休眠后,系统会在系统盘根目录生成隐藏的 hiberfil.sys,用来保存内存快照;Windows 8 起它同时承担「快速启动」的职责,所以默认大小通常约为物理内存的 40%。对台式机与服务器来说,休眠多数时候用不上,却长期白占几十 GB 空间;关掉它既回收空间,也顺带取消快速启动。代价是开机稍慢,以及不再提供休眠电源选项。
基本信息
| 适用平台 | Windows 7/10/11 与 Windows Server(powercfg) |
|---|---|
| 查看状态 | powercfg /a 列出可用睡眠状态与不可用原因 |
| 关闭 | powercfg /h off(立即删除 hiberfil.sys,需管理员) |
| 恢复 | powercfg /h on;需要完整休眠能力时用 powercfg /h /type full |
| 调整大小 | powercfg /h /size 50 指定为物理内存的 50%(缩小的最小值为 40) |
| 删除方式 | 休眠文件是受保护的系统文件,只能通过命令关闭,不能直接删除 |
典型使用场景
- 系统盘紧张:回收几十 GB 空间,成本最低的一步
- 服务器规范:数据中心服务器不做休眠,统一关闭消除隐患
- 故障排除:休眠文件损坏导致无法休眠或开机异常时重置配置
- 虚拟化模板:模板机压缩体积,加快克隆与分发
- 策略下发:通过组策略或脚本批量关闭休眠统一电源行为
常用示例
常用示例
powercfg /a # 列出可用睡眠状态(含休眠是否可用)
powercfg /h query # 查看当前休眠文件类型与大小(部分版本输出 HiberFileType)
dir /a C:\hiberfil.sys # 查看文件大小(隐藏+系统属性)
powercfg /h off # 关闭休眠并删除 hiberfil.sys
REM 需要保留快速启动时可把文件调小而不是关闭
REM powercfg /h /size 40
REM 需要恢复休眠能力
REM powercfg /h on
REM powercfg /h /type full选项与后果对照
| 命令 | 效果 | 连带影响 |
|---|---|---|
| powercfg /h off | 删除休眠文件,关闭休眠 | 快速启动同时失效,开机略慢 |
| powercfg /h /size 40 | 把文件压到物理内存的 40% | 仅支持快速启动,不支持完整休眠 |
| powercfg /h /type full | 使用完整休眠文件 | 占用更大,休眠与快速启动都可用 |
| powercfg /a | 只读查询可用睡眠状态 | 排查「为什么没有休眠选项」的第一条命令 |
笔记本用户不建议直接关掉休眠:合盖休眠是省电与续航的关键,把 hiberfil.sys 调小(如 40%)通常既能省空间又保留快速启动与休眠。
关闭休眠会移除电源菜单里的「休眠」选项,这是预期行为而非故障;同时「混合睡眠」也一并失效。用户在电源计划里找不到这些选项时,先确认休眠是否已被关闭。
批量与策略化处理
批量与策略化处理
powercfg /a # 先确认当前状态
powercfg /h off # 单机执行
# 多机批量:通过远程执行或配置管理工具下发
# Invoke-Command -ComputerName SRV01, SRV02 -ScriptBlock { powercfg /h off }
Get-Item C:\hiberfil.sys -Force -ErrorAction SilentlyContinue | Select-Object FullName, Length # 确认是否已消失改动前确认内存转储配置:使用「自动内存转储」等排障方案时,需要保留足够的页面文件(或按需配置专用转储文件),别把休眠与转储相关的设置一起改掉,否则蓝屏后可能拿不到可用于分析的转储。