两个隐藏文件,两份不同的差事
pagefile.sys是通用后备存储:每个进程的已提交内存由RAM加页面文件保证,蓝屏后的崩溃转储落在那里,虚拟内存对话框还允许你调整大小、移动位置或交给Windows管理。swapfile.sys同样位于C:\根目录,但这些都和它无关。它只为一个客户而存在——Store和UWP应用——在Windows于后台挂起它们时接收它们的内存页。
为什么要分开?Store应用活在另一份契约下:它们被要求随时挂起、随时恢复,把这个生命周期和共享的页面文件、和其他所有进程的内存压力搅在一起,会让调度器的日子苦不堪言。一个小小的专用文件把这部分流量隔离起来,而隔离本身就是全部意义:swapfile.sys不是额外容量,它是一条专用车道。
- pagefile.sys为每个进程的已提交内存兜底;swapfile.sys只给Store和UWP应用分页内存
- pagefile.sys在崩溃后接收内核内存转储;swapfile.sys在崩溃转储中毫无角色
- pagefile.sys可在虚拟内存对话框中配置——大小、磁盘、系统托管;swapfile.sys在任何地方都没有设置入口
- pagefile.sys随内存和负载增长到GB级;swapfile.sys保持小巧,多数机器上约256 MB
- 两者都是C:\根目录下的隐藏系统文件,Windows运行期间被系统锁定
- 禁用页面文件会让swapfile.sys一并消失——连同你的崩溃转储和提交余量
让挂起应用看起来空闲的戏法
打开任务管理器,启动一个Store应用,最小化后十分钟再回来:它的内存数字明显下降,而你点击它时依然瞬间打开。这就是swapfile.sys在工作——Windows把挂起应用的页面写进了文件,恢复时再直接页回RAM。应用释放的内存是真实的;把它接回家的代价是几百MB的顺序读取,所以在SSD上没人察觉这趟往返。
这也解释了文件尺寸为何如此克制:它只需要装下挂起Store应用的工作集,而即便是重度用户,也很少同时保活超过几百MB。如果你根本不运行Store应用,这个文件就近乎闲置地待在那里。它不会为了惩罚你而膨胀,也不会为了讨好可用空间计数器而缩到零。
能调整、删除、移动它吗?
不能、不能、还是不能。Windows没有为swapfile.sys提供任何设置——虚拟内存对话框里没有它,没有受支持的注册表开关,也无法迁移到其他磁盘。系统运行期间它被锁定,所以也没什么可删的:从离线介质上把它拽走,只会让Windows在下次开机时重新创建。让它消失的唯一受支持方式是完全禁用页面文件——这是一笔用崩溃转储和提交余量换256 MB的交易。
如果你担心SSD磨损:一个只有几百MB偶发流量的文件,在忙碌的浏览器缓存旁边不过是舍入误差。两个内存文件都别动,把注意力花在有回报的事情上。如果你真想深挖Windows的内存机制,有意思的部分是备用列表和内存压缩——而不是这个文件。
常见问题与解答
删除swapfile.sys安全吗?
Windows运行期间不可能——文件被锁定;离线删除也没意义,因为Windows会在下次开机时重建它。它是内存管理的运转部件,不是垃圾。
pagefile.sys和swapfile.sys有什么区别?
pagefile.sys为全系统的已提交内存兜底并存储崩溃转储;swapfile.sys是一个小巧、不可配置的文件,只为Microsoft Store应用分页内存,主要发生在它们被挂起时。
继续阅读
联系我们: [email protected]