16G 内存的电脑,开个大软件还是弹「计算机的内存不足」,有人就想去动虚拟内存。这东西到底干嘛的,调大有没用,说点实际体验。
它就是拿硬盘顶一小块内存
虚拟内存是系统在硬盘上划出的一块空间,Windows 对应C盘根目录那个 pagefile.sys 文件,Linux 下叫 swap。物理内存不够用时,系统把暂时不活动的数据挪到硬盘,腾出内存给当前程序,相当于加了个缓冲垫。内存和硬盘速度差着上百倍,它只能救急,不能真当内存用。
具体有三个用处
- 内存吃紧时兜底:开一堆网页加聊天软件再挂个游戏,物理内存见底,没它程序直接崩
- 有些软件申请的地址空间比实际用的大,靠它才能正常启动
- 系统蓝屏时写转储日志也要占这块空间
设多大合适
多数情况交给系统自动管理就够了,Win10 和 Win11 默认就是这么干的。存放位置尽量选固态硬盘,速度差别明显。老经验是设成物理内存的 1 到 1.5 倍,那是 4G、8G 年代留下的,现在 16G 起步的机器日常用默认值完全够。手动设置的入口在「设置-系统-系统信息-高级系统设置」,进性能设置的高级页,最下面就是虚拟内存。Linux 服务器装系统时一般单独分一个 swap 分区,内存小的云主机也建议留一点,桌面机还有个 swappiness 参数控制使用积极程度,默认就行。
pagefile.sys 太大想删怎么办
很多人看到这个文件十几个 G 想直接删,它删不掉是正常的,得在虚拟内存设置里选「无分页文件」或挪到别的盘。但不建议直接关:32G 以上内存纯办公的机器关了一般没事,可不少软件会挑刺,设计类全家桶、大型游戏、虚拟机都可能提示虚拟内存不足,蓝屏时也留不下日志。8G、16G 的机器关了就是自找卡顿。顺带分清,休眠功能用的 hiberfil.sys 和它不是一回事,别混着清。
最后给个判断:内存不足提示反复出现,正确顺序是先开任务管理器看哪个进程吃内存,再考虑加内存条。虚拟内存有什么用?它是兜底方案,不是提速手段,调到几十个 G 也换不来性能。