随着发布日期的临近,关于 Windows Vista 的消息是越来越多。不过,这些消息,很多都是错误的。简而言之,Vista 被误会的很深。不久前,一条 Windows Vista 消耗800M内存的消息在网上随处可见,但这是真的么? 我们来看看国外某作者的分析。
相关新闻:Windows Vista系统空闲占用800M内存
你可能看过那些 Windows Vista 在空闲状态下消耗800M内存的消息吧,其实这不过是一个误会罢了,现实情况并没有那么夸张。为了消除误会,搞清楚3个问题很为重要:提交更改的内存量 (PF使用率) 到底代表什么;Beta 版的截图并不能代表最终正式版本的情况; Windows 会根据系统的条件来调整内存的使用方案。
首先我们来看看什么是提交的内存量,就是那个在任务管理器上显示为PF使用率和提交更改的东西。提交的内存量在x86架构下被组织为了4096页,是进程为自己使用 (私用,而非共享或者映射) 所提出的需求申请。用户们常常为内存总量不等于物理内存减去提交更改的内存量而困惑不已。简单来讲,提交更改的内存量 (PF使用率) 并非当前正在使用的物理内存或者页面文件数量,而是进程请求的私有虚拟内存总数 (不管是在RAM或者页面文件中)。
以在网上广为流传的那个任务管理器截图为例,该图号称 Vista 在空闲状态下消耗了800M的内存。不过细细一算,该图中,正在使用的物理内存只有395M,算得更粗略一些也就400M。系统的1G内存仍有大半可用。
还有,截图本身并不能反映 Vista 的新版本或者其他一些环境下内存使用状况。下图是从我机子上截下来的,Vista Ultimate Edition 外加 IIS7 和运行了搜索服务的 Virtual Server 2005 R2. 加上这些服务后,提交更改的内存量大概为665M。
再来看看这张,320万像素的桌面,开 Aero Glass 效果,同时还运行了多个程序. 包括 Windows Media Player (播放 640x480 的 MPEG-2 视频) ,开了多个标签的IE7,进行 IRC 和 MSN 会话的 GAIM,开 Sidebar,正在转换视频的 Tivo Desktop,还有刚才提到的IIS7和微软的 Virtual Server。总共算下来也就1.04G的提交更改量,占总可用数的1/4,实际上只用了400M的物理内存。显然,这一 build 的 Vista 比那个消耗800M的具有更高效的内存管理。