前两天帮一哥们看机器,C 盘莫名其妙少了 20 多 G,查半天发现是 hiberfil.sys 这个休眠文件在作妖。这玩意儿藏得深,默认连隐藏文件都不一定让你看见,可它实实在在占着你的空间,跟内存大小挂钩。
先说它咋来的。你一开休眠,系统就把内存里的内容整个 dump 到 C 盘根目录的 hiberfil.sys 里,下次开机直接读回来,省去重新加载。文件大小大概是内存的 40% 到 75%,16G 内存的机器,这文件动辄 10G 往上,32G 的能飙到 20 多 G。我自家台式机 32G,之前这货吃了我 22G,我愣是半个月没发现。
想干掉它最简单,关休眠就成。管理员命令提示符(别用普通 cmd,权限不够)敲 powercfg /h off 回车,hiberfil.sys 当场消失,空间秒回。代价是你没法用休眠了,只能睡眠或者关机。但对于台式机、常年插电的,休眠本来就用得少,关了不亏。
有人舍不得快速启动,因为快速启动底层也靠这个休眠文件。关了 hiberfil,设置里的”启用快速启动”会一并失效,开机慢个几秒。要速度还是要空间,自己掂量。我给不太懂的长辈都直接关掉,图个 C 盘清爽。
既想留快速启动又想省空间,也有折中:powercfg /h /type reduced 这条能把休眠文件压到大约内存的一半,但代价是快速启动功能会被禁用,本质还是取舍。想更小基本不可能,系统不支持压到更低。
哦对,提醒一句,别想着手动去 C 盘删 hiberfil.sys,你会被权限拦住,强行删还可能把系统搞毛。老老实实用 powercfg 命令,它才是正经途径。我邻居老王就手动删过,结果休眠选项残了,最后还是重跑命令才理顺。
想确认它到底占了多少,最笨也最准的办法:文件资源管理器里把”隐藏的项目”勾上,进 C 盘根目录,右键 hiberfil.sys 看属性里的”大小”,数字不会骗人。我那台就是这么算出来 22G 的,看完立马就去关了。
顺带说一句,关了休眠不影响”睡眠”,睡眠数据还在内存里、不断电就行,适合台式机或者一直插电的笔记本。但你要是经常合盖带走、靠电池撑着,关了休眠之后合盖就变睡眠,万一没电了没存的工作就没了——这点得想清楚。我一个哥们就因为这个丢了份报表,被领导念了一周。
你看下自己内存多大,算算这文件占多少,觉得不值当就关了它。有啥不明白的问我就行。
