现在主流电脑配置的内存都不小,16G属于常规,32g都算不上大,经常会有人疑惑要不要关闭系统的“虚拟内存”,或者去设置为固定值。我就从软件的角度来聊聊。
实际上很多人并不了解虚拟内存到底是干啥的,大部分人接受的常规理解就是“物理内存不够然后用虚拟内存”。实际上这个只是为了方便大众理解的不精确的说法。
首先从比较精确的的角度上来说,磁盘上分配的那个东西不叫 虚拟内存,而是叫分页文件(pagefile),pagefile属于操作系统虚拟内存管理架构,但本身并不叫虚拟内存。
操作系统可以提交的虚拟内存大小=物理内存+分页文件。注意这里说的是提交并不是使用。对于操作系统来说,请求内存、提交内存、使用内存是不同的步骤。
下图电脑装了16G内存,虚拟内存自动管理系统默认分配一倍大小的分页文件。所以整个系统可提交的虚拟内存大小是16+16=32G
QQ截图20180805153705.png (38.39 KB, 下载次数: 1)
QQ截图20180805145943.png (52.41 KB, 下载次数: 0)
下面使用一个测试程序,申请了128G内存,可以发现就算一台电脑只有16G内存,照样可以申请成功。同时单纯的申请并不会占用任何物理内存
QQ图片20180805154154.png (75.89 KB, 下载次数: 0)
内存在使用之前还必须进行所谓的提交操作(COMMIT),提交操作会消耗整个系统的总虚拟内存数值(上限=16+16=32G),下面一个测试程序提交25G的内存,这个示例中系统的总虚拟内存已经消耗了30G,但实际上程序几乎没有使用任何物理内存(0.4M),在windows下只对内存进行读写才会产生实际的物理内存消耗
假如下图中系统的分页文件已经达到设置的最大值(或者固定值),实际上整个系统还能使用的内存并不是15.9g-3.4g=12.5g的物理内存,而仅仅只有32.9-29.3=3.6g的内存可以用了,任何程序提交或使用超过3.6g,不管你物理内存还剩下多少,系统都将提示内存不足
QQ截图20180805155124.png (64.7 KB, 下载次数: 0)
QQ截图20180805155205.png (38.8 KB, 下载次数: 0)
操作系统提示内存不够的时候,实际上并不是物理内存饱和,而是虚拟内存上限(物理内存+分页文件)饱和了,就算物理内存实际还有很大的剩余,在一些情况下照样会造成系统内存不够。
部分游戏,比如古墓丽影10,就会发现这个游戏会提交相当多的内存(实际物理内存还没使用到),假如关闭分页文件或者设置了比较小的值,将导致可申请的虚拟内存上限降低,虽然16G内存足够玩这个游戏,但是还是会出现系统提示内存不够的情况。
所以,分页文件大小并不只是用来放入物理内存放不下的数据,还会影响整个系统的理论内存使用上限。一般来说还是建议让操作系统自己管理。
而且有些人会有一个习惯,把分页文件的最大最小值设置成一样,这是一个流传十几年的设置方式。在HDD的时代,在操作系统刚装好的时候,磁盘分区相对比较空闲,给分页文件固定大小的好处是可以预先分配一个比较连续的磁盘空间,避免碎片影响性能。但是现在已经是SSD的年代了,并不存在碎片问题,所以那些还保留着设置分页固定大小的老鸟们也可以改掉这个习惯了
评论
我关心虚拟内存,SYSTEM.INI有个配置要改,就是内存没用完 不用页面文件
评论
跟我一样,以前内存不够,硬盘慢,虚拟内存绞尽脑汁去搞
现在直接丢win10自己管,爱咋咋地
评论
之前就是因为设置一个固定值(1GB)而玩吃鸡的时候经常弹出内存不足(物理内存16GB)。。。
设置系统自动管理就没此问题出现了。
评论
WIN10之前,我都是手动设,WIN10后,系统自己动
评论
以前迷信,关了也没感觉有提升,还总是有些软件报错。
评论
搞了个16g的optane专门放这个
评论
win8开始,自动还算合理。win7太简单粗暴,大内存默认的页面文件体积太大了
评论
没必要关了 或者设置太小 现在速度够快 而且设置小了很多程序报错
评论
我设置3-4g大小,并且放到内存盘里运行
评论
分页文件里的一般都是冷数据,
除非你只有不到4G物理内存,不然就是用900p来放也不会有任何提升
评论
我32g内存关闭了没有什么报错的
评论
内存虚拟化和虚拟内存是两个概念。。。
评论
试试运行photoshop
评论
当物理内存够多的时候,分页文件用到的概率很小,当不够的时候瞬间写入的分页文件的数据可能会很多,而且操作系统会批量写入一批数据,16g的optane写入速度只有100多M,假如突发写入600M数据需要近5秒钟,反而不如nvme的ssd高效,分页文件是4k和顺序读写都需要保证的。
评论
基本上不管了
评论
想问下lz,如果系统有多个ssd,那么分别在每个ssd上设置一部分的虚拟内存是否有提升性能的意义
评论
相比虚拟内存,我更在意的是这部分“备用”内存,1:电脑开机时间久了或者使用的软件多起来,这部分内存的占用就会增加,而且占用很大
2:一些管家或者助手之类的软件中的内存清理,使用一下就会清理掉这部分,使内存释放出来,但如果是负载中的电脑,没多久后“备用”又占回去了
3:当使用中的内存和备用内存合计起来,占用接近整个系统内存的情况下,会引起系统的不稳定,出现内存不足出错的情况
QQ图片20180805191803.png (168.13 KB, 下载次数: 1)
评论
就我的理解,意义很小,分页文件并不会优化成类似于多硬盘并行操作(raid0),仅仅是一个分页文件空间不够的时候用另一个而已的简单模式
评论
32G物理内存,关闭虚拟内存的话玩war3这种十几年前的游戏 有些地图玩着玩着都能弹错说内存不足...
评论
你的理解肯定是不对的,备用内存是操作系统用于对磁盘文件的缓冲,也就是最近软件操作的文件假如有空闲的内存,那么系统会将磁盘文件的数据保存在内存中。这些空间是可以动态的被释放的。
下面用一个简单的程序来让所有空闲内存空间都转化为备用
转化前
QQ截图20180805203801.png (53.93 KB, 下载次数: 0)
转化后,所有空闲内存都用于文件缓存
QQ截图20180805203930.png (274.71 KB, 下载次数: 0)
备用内存中空间都可以当成是空闲内存使用,绝对不会有任何会造成系统不稳定的情况,甚至应该是完全感觉不出备用占满会对性能有任何影响,假如层主碰到备用占用满导致系统稳定性存在问题,那么反而应该去检查自己电脑的内存的稳定性是不是有问题。
评论
我一开始也是如你所说的这样认为的,内存稳定性肯定是没问题的,又没超频,而且test也测试过的
只是我的情况并非个例,我的几个朋友也会有类似情况,也许是其他原因导致所造成的巧合吧
评论
https://support.microsoft.com/en-us/help/2860880/how-to-determine-the-appropriate-page-file-size-for-64-bit-versions-of
https://blogs.technet.microsoft.com/markrussinovich/2008/11/17/pushing-the-limits-of-windows-virtual-memory/
巨硬官方Support和Technet有详细的解释和自我打脸, 主要就是确保Commit Limit > 运行程序要求的Total Commit Charge
所以就算现在X99上128GB RAM, 我还是保留习惯在非OS盘上设Pagefile Min=4092MB Max=RAM, 任务管理器上的Commit总量通常都是131GB
评论
我就不喜欢让WINDOWS来管理虚拟内存,我喜欢一切自己掌控,我的32G内存用虚拟硬盘软件划出16G做成虚拟盘,然后设置2G作为虚拟内存,剩下14G把浏览器缓存空间和系统变量等都放在该临时硬盘上,BT电骡和迅雷的下载目录也是用虚拟硬盘减少物理硬盘损耗,到目前为止没出现什么问题
评论
16G,关闭虚拟内存已经3年了,没有出过任何故障。这个应该和软件有关
评论
好的,那我就设置在性能最强的ssd上。
评论
那不是每次重启都要设置?我单挂了一个机械盘做下载盘,分页文件只设置C盘自动管理,其他关闭
评论
16G 关了6年了
评论
打游戏确实碰到过好几次说内存不够,但实际很多
评论
缓存文件 加快访问的 程序需要用更多内存时系统会自动释放 你以为windows就是用图上那4.4g吗 其实和mac一样都是有多少用多少 永远都是尽量填满你的物理内存物理内存64g、虚拟我设置了50g、应该够了···系统盘970pro的
评论
还是觉得让系统自动分配是最好的,我32G内存玩古墓丽影居然爆内存不足!!开了页面文件就好了。
评论
自从用上ssd,就让系统托管去了。不过还是习惯性地扔在D盘(我ssd分两个盘)
评论
内存大的话,留1G的虚拟内存就够了,防止某些软件bug。最小值设小一点,最大值大一点。
评论
我是从WIN7到WIN10,8G内存升级到16G,设置都是最小16M,最大8000M,从来没有出现过内存不足的提示 ,这个看每个人的软件都不一样吧。
评论
是不是应该分几种情况:
1. 某些变态软件,不开虚拟内存就报错,哪怕物理内存足够,这种情况只能设置页面文件
2. 物理内存比较少,喜欢同时多开程序占用,提交内存峰值经常逼近上限,最好也开页面文件
3. 物理内存充足,平时运行各种程序从不报错,那可以不开,为了减少硬盘空间占用也好、减少写入保护SSD或者提高性能也好。不过有个问题,就算开了虚拟内存页面文件,在可用物理内存还剩很多的时候,windows是否会主动把物理内存里的更改数据写入硬盘页面文件,腾出更多的物理内存备用?如果是,那么不开虚拟内存还是有用的,强制windows使用物理内存,减少无谓的硬盘页面文件读写。
评论
当然是内存堆够虚拟内存不开啊(・ω・)ノ OOM了,那就先让程序死在那然后去买内存呗(・ω・)ノ
评论
是不是这样就是系统自动设置了?
QQ截图20180806161114.jpg (65.76 KB, 下载次数: 1)
评论
可以的,我就是这样子设置的
评论
一般不放到C盘
放到其它分区,而且是固态硬盘
评论
我的C盘就是固态
评论
我习惯转移到其它固态硬盘里
评论
对于虚拟内存,或者說是分页文件,我对他唯一的印象就是,他会严重拖慢系统运行速度。至少在机械硬盘时代确实如此。
机械硬盘一边要负责读取需要的文件和数据,一边还要负责读写分页文件。在任何机械硬盘平台上,关闭虚拟内存之后,得到的都会是极大的运行速度提升。当然,要保证物理内存够用。对此我个人的标准是,XP,4G物理内存,WIN7,8G物理内存,WIN8WIN10,根据情况,8~16G物理内存,在这个前提下我会毫不犹豫的关闭虚拟内存。并且98%以上的用户不会出现任何问题。唯一出现问题的就是我自己,因为屏幕分辨率大,游戏载入的数据多,以及浏览器和ramdisk,目前的平台,16G内存,实际对我来说并不算很够。打游戏的同时如果再开几个网页,很有可能导致物理内存爆满,最后出错。黑屏,死机,程序崩溃。各种。但如果不开网页,只开游戏,就几乎不会出现状况。所以我个人还是倾向于关闭虚拟内存。
毕竟WINDOWS很蠢,只要你开了虚拟内存,不管物理内存满了没,他都会义无反顾的去用。
评论
没有机械硬盘的确可以让默认的windows自动设置
有机械硬盘的时候傻逼windows经常会把虚拟内存设置到普通机械硬盘,典型症状就是开机输入密码之前和之后卡得一动不动持续几秒钟到十几秒钟
这种情况就需要自己手动把虚拟内存设置到C盘或者其它SSD盘上面
评论
现在64G内存,天天看着它发呆,不知道有什么用
评论
“优先使用物理内存:Windows 2000/XP两种方法:
1、依靠第三方的工具软件来虚拟物理硬盘,然后再把Pagefile.sys页面文件设到该虚拟盘上
2、在在C:\WINDOWS文件夹下System.ini中的“[386enh]”底部加入一句,ConservativeSwapfileUsage=1,让Windows优先使用物理内存,尽量不要强行直接禁用虚拟内存交换文件。“
评论
win10 设置自动, win7 手动~
评论
选自动就行,不用那么费事,os的开发人员考虑的肯定比咱们消费者多多了
评论
我把这个关掉之后,跑个MT直几百个错
之前不知道什么回事 后来瞎搞找到了原因
谢谢分享,赞一个
电路 电子 维修 我现在把定影部分拆出来了。想换下滚,因为卡纸。但是我发现灯管挡住了。拆不了。不会拆。论坛里的高手拆解过吗? 评论 认真看,认真瞧。果然有收 电路 电子 维修 求创维42c08RD电路图 评论 电视的图纸很少见 评论 电视的图纸很少见 评论 创维的图纸你要说 版号,不然无能为力 评论 板号5800-p42ALM-0050 168P-P42CLM-01
·日本中文新闻 唐田绘里香为新剧《极恶女王》剃光头 展现演员决心
·日本中文新闻 真子小室夫妇新居引发隐私担忧
·日本中文新闻 前AKB48成员柏木由纪与搞笑艺人交往曝光
·日本学校 {日本国际学校}梅田インターナショナルスクール
·日本学校 LINE:sm287 陳雨菲、20歳、台湾からの留学生、東京に来たばかり
·日本留学生活 出售平成22年走行48000km 代步小车
·日本华人网络交流 円相場 一時1ドル=140円台まで上昇?
·日本华人网络交流 问日本华人一个问题
·日本旅游代购 富山接机
·生活百科 英国转澳大利亚转换插头
·汽车 【求助】修车遇到困难怎么办?