引入虚拟内存是为了帮助运行更多内存有限的程序.但在当今廉价RAM的环境中,它仍然具有相关性吗?
如果禁用磁盘访问并且所有程序都是内存驻留,则不会有磁盘访问,是否会改善性能和程序响应时间?
除了运行如上所述的更多程序之外,Windows中的虚拟内存是否有任何基本要求?我们不知道的内部窗户.
一些迂腐:虚拟内存不仅仅是页面文件.该术语包含一系列技术,使程序产生错觉,即它有一个连续的地址空间,其中一些是程序的代码,其中一些是数据,一些是DLL或内存映射文件.
所以对你的引导问题:是的,需要虚拟内存.这就是现代操作系统的工作原理.
不要禁用虚拟内存.2GB甚至不足以考虑这一点.无论如何,你应该始终保持在即使你的虚拟内存做有足够的,因为它会当你真正需要它永远只能使用.安全而不是遗憾要好得多,因为没有它是活动的意味着你只是碰壁,而让它活动意味着你的计算机开始交换到硬盘驱动器,但继续运行.
是的,因为它是现代操作系统中发生的所有按需分页的基础,而不仅仅是Windows.
Windows将始终使用您的所有内存,如果不是用于应用程序,则用于缓存从硬盘驱动器读取的任何内容.因为如果不使用那个内存,那么你就会把你的投资浪费在内存上.基本上,Windows使用您的RAM作为硬盘驱动器的大容量缓存.这种情况一直发生,因为相关页面只有在您处理该页面的内容时才会被带入主内存.
问题是,考虑到现代计算机具有多少内存以及操作系统内部正在发生什么,页面文件的用途是什么.
Windows任务管理器通常显示使用的物理内存不多,但是,您有很多页面错误?Win32永远不会分配它的所有物理内存.它总是节省一些新的资源需求.使用大页面文件与小页面文件,Win32将更慢地为进程分配物理内存.
几天后,我一直在Vista中使用一个非常小的页面文件(200 MB固定),具有3GB的可寻址物理内存.我没有崩溃或问题.没有尝试像大型视频编辑或许多不同的进程一次打开.我不建议不使用页面文件,因为操作系统永远不会在物理内存中乱翻页面,从而导致漏洞的发展.对于那些在弹出低内存警告或操作系统崩溃时不知道如何手动增加页面文件的人来说,大页面文件是安全的.
一些要点:内核将使用一些物理内存,这将通过VM映射与所有其他进程共享.其他进程将在剩余的物理内存中.VM使每个进程看到4GB内存空间,操作系统低于2GB.每个进程需要比4GB的物理内存少得多,这个数量是它提交的内存要求.编程时,malloc或new将保留内存但不提交内存.像第一次写入内存的事情将提交它.操作系统会立即为每个进程提供一些内存.