虚拟内存大小和页面文件的含义?
来源:百度知道 编辑:UC知道 时间:2024/09/22 14:30:22
本来我以为自己非常明白其含义的但.........
首先我是用内存虚拟出一个盘符1G,来放pagefile.sys的,设置为128M-512M.
我运行IE等一些程序后,在任务管理器中发现虚拟内存大小的总和,已经超过我的128M了,但那个pagefile.sys始终没有增大?所以产生疑问虚拟内存的大小不就是等于pagefile.sys的大小吗?也未发现其它地方的空间有增大的迹象
页面文件dxdiag中显示2212M已用,692M可用哦还有物理内存显示我是2942M
我明明放页面文件的地方最多只有我虚拟出来的1G,那个2212+692是如何出来的?
问题的可能是一些程序事实上是使用共享内存的,
使用性能监视器发现有一项是私有内存(不被其它程序共享的内存)
例如A程序使用50M,B程序使用60M,但事实A,B程序其中一些内存是共同拥有,所以最后就是A+B程序的内存少于110M.而那些什么读错误通常就是A程序想读写自己认为可以读写属于B程序的一部分内存,但B程序却认为是不允许读写的.结果就出错了.
不过我还怀疑任务管理器中显示的虚拟内存有时本身也包含着物理内存的,不单指pagefile.sys的大小,因为我试过一个文件所显示的虚拟内存就已经大于我的pagefile.sys的大小了
我未进入过安全模式,而我也留意着每个盘的大小变化的.
首先我是用内存虚拟出一个盘符1G,来放pagefile.sys的,设置为128M-512M.
我运行IE等一些程序后,在任务管理器中发现虚拟内存大小的总和,已经超过我的128M了,但那个pagefile.sys始终没有增大?所以产生疑问虚拟内存的大小不就是等于pagefile.sys的大小吗?也未发现其它地方的空间有增大的迹象
页面文件dxdiag中显示2212M已用,692M可用哦还有物理内存显示我是2942M
我明明放页面文件的地方最多只有我虚拟出来的1G,那个2212+692是如何出来的?
问题的可能是一些程序事实上是使用共享内存的,
使用性能监视器发现有一项是私有内存(不被其它程序共享的内存)
例如A程序使用50M,B程序使用60M,但事实A,B程序其中一些内存是共同拥有,所以最后就是A+B程序的内存少于110M.而那些什么读错误通常就是A程序想读写自己认为可以读写属于B程序的一部分内存,但B程序却认为是不允许读写的.结果就出错了.
不过我还怀疑任务管理器中显示的虚拟内存有时本身也包含着物理内存的,不单指pagefile.sys的大小,因为我试过一个文件所显示的虚拟内存就已经大于我的pagefile.sys的大小了
我未进入过安全模式,而我也留意着每个盘的大小变化的.
我也用ramdisk虚拟一个硬盘,但有时系统会自动在硬盘再生成一个pagefile.sys文件,你注意找一下,也可能不是在C盘。出现这种现像的原因是你进入过安全模拟,虚拟盘不能加载,系统只好在硬盘上重新建立虚拟内存文件。还有你是不是把temp和IE临时文件也放在虚拟硬盘上了,有时临时文件占用过多空间,系统为了保证虚拟内存数量也会在硬盘上重新建立虚拟内存文件的。