查看: 2339|回复: 9
收起左侧

[讨论] windows的虚拟内存自动管理策略到底是怎样的?

[复制链接]
lai001lai007
发表于 2026-7-6 15:28:23 | 显示全部楼层 |阅读模式
我通常都是让系统自动管理windows系统的虚拟内存的,但是我最近发现页面文件从以前的不超过4G,突然暴涨到15G左右,而我没有新安装什么软件,也没有使用习惯的改变。另外一台电脑虚拟内存就没有发生改变。
网上查了一下,都说微软没有披露过具体的计算公式,但和硬盘大小、内存等硬件有关。
win11系统,32G内存,C盘500G SSD。windows的虚拟内存自动管理策略到底是怎样的,各位怎么看?
jr21066
发表于 2026-7-7 21:42:57 | 显示全部楼层
在虚拟内存不够时系统会自动增长的.比如有一次你用ps打开了老多的图片.或是有个软件资源泄漏,你一直没发现也没关闭
lai001lai007
 楼主| 发表于 2026-7-9 09:50:29 | 显示全部楼层
jr21066 发表于 2026-7-7 21:42
在虚拟内存不够时系统会自动增长的.比如有一次你用ps打开了老多的图片.或是有个软件资源泄漏,你一直没发现 ...

但是我没有做过类似的事情,但是也不能排除偶然触发某个软件的bug...
请问那么多久之后会恢复呢?或者就一直不会减小了?
hdx2016
发表于 2026-7-9 19:30:32 | 显示全部楼层
现在虚拟内存主要是放置没有使用的内存。
程序要先申请内存才能够使用内存,为了保证程序不会因为内存不足导致运行异常,所以申请的内存通常会很大。
程序实际使用的内存通常小于申请内存。微软就把已申请没有被使用的内存放入虚拟内存,以加大可用的物理内存。
如果你关闭虚拟内存,那么每个程序占用的内存将是程序实际申请内存。任务管理器可以看到已提交内存和实际占用内存。关闭虚拟内存的结果就是已提交内存=实际占用内存。

第二个作用用于交换内存。由于内存Windows用户使用的硬件良莠不齐,所以直接使用了高压缩率但是压缩解压慢的算法。当内存不够时就会把一部嗯进程内存压缩。内存还不够,就把已经压缩的内存写入硬盘,继续找不活跃的进程进行压缩。这样的好处就是由于Windows用户CPU硬件相对于硬盘硬件更可靠且寿命更长,这个策略能有效减少虚拟内存硬盘写入量让固态硬盘获得更长的寿命。
缺点是:采用比较高压缩率压缩内存,导致解压速度慢,当调用内存已经被压缩的程序时会有明显卡顿。
这个做法的反例就是MacOS,采用高规格且统一的硬件,硬盘速度快寿命超长。macos内存压缩使用了速度快,压缩率低,对cpu算力要求低的算法。当内存不够时会直接打包所有不活跃进程压缩并统一写进硬盘里。然后载入需要内存的程序。由于高速硬盘且硬盘寿命很长耐写。
在b站或者其他视频软件经常有MacOS 8G内存能跑10G内存的程序还能用的原因。此时macOS内存压力会变黄,轻微卡顿

第三个作用就是某些程序的小巧思了,比如PS会把操作步骤写进虚拟内存,所以你用ctrl+z才能对你的误操作买单。
jr21066
发表于 2026-7-11 06:24:13 | 显示全部楼层
lai001lai007 发表于 2026-7-9 09:50
但是我没有做过类似的事情,但是也不能排除偶然触发某个软件的bug...
请问那么多久之后会恢复呢?或者就 ...

注销或重启就可以恢复,不想用工具查的话,可以使用任务管理器查看哪个进程占用了较大内存
lai001lai007
 楼主| 发表于 2026-7-15 15:15:14 | 显示全部楼层
jr21066 发表于 2026-7-11 06:24
注销或重启就可以恢复,不想用工具查的话,可以使用任务管理器查看哪个进程占用了较大内存

你好,我经过几天的尝试,重启后虚拟内存大小并没有恢复,反而越来越大了,现在已经超过17G大小了。
jr21066
发表于 2026-7-18 07:33:10 | 显示全部楼层
lai001lai007 发表于 2026-7-15 15:15
你好,我经过几天的尝试,重启后虚拟内存大小并没有恢复,反而越来越大了,现在已经超过17G大小了。

是在任务管理器中还是指的那个文件大小呢.
文件是不会自动缩小的,可以在系统高级中删除重设置,或换个磁盘都是可以的.
lai001lai007
 楼主| 发表于 2026-7-18 15:07:43 | 显示全部楼层
jr21066 发表于 2026-7-18 07:33
是在任务管理器中还是指的那个文件大小呢.
文件是不会自动缩小的,可以在系统高级中删除重设置,或换个磁 ...

目前已经确定是某个游戏提交内存需求太大了。手动设置较小虚拟内存会造成崩溃。
不考虑该游戏的问题,比如我卸载掉再也不启动了,我想知道windows系统自动管理虚拟内存的话,是不是再也不会减小了?
jr21066
发表于 2026-7-19 14:14:52 | 显示全部楼层
内存分物理内存加虚拟内存,现在讨论的是虚拟内存,虚拟内存在系统运行后是在页面文件中分配的.当系统重启或注销时,虚拟内存会释放掉的.
不过虚拟内存使用的这个页面文件只增加不减少,想减少就要用户干预,手工指定大小或删除重建这样的.
而且在过去机械硬盘时,是不建议用户删除页面文件的.容易产生磁盘碎片,影响效率.

在磁盘空间富余的情况下,可以忽略页面文件的大小,如果空间紧张,可以手工指定到其它磁盘或分区.
lai001lai007
 楼主| 发表于 2026-7-21 08:57:58 | 显示全部楼层
jr21066 发表于 2026-7-19 14:14
内存分物理内存加虚拟内存,现在讨论的是虚拟内存,虚拟内存在系统运行后是在页面文件中分配的.当系统重启或 ...

感谢解答!
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2026-11-1 19:15 , Processed in 0.053707 second(s), 3 queries , Redis On.

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表