如果您使用GlobalMemoryStatusEx获取统计信息,则其中一个是dwMemoryLoad,这是使用中物理内存的近似百分比。 SuperFetch消耗的内存是否已添加到dwMemoryLoad?我正在研究使用此统计信息来管理自己的缓存的软件,当百分比过高时刷新缓存。我担心SuperFetch会导致错误的结果。
阅读有关SuperFetch的内容,Vista上的游戏用户often say将其关闭可提高性能。这证实了我的假设,即SuperFetch会导致应用程序错误地认为正在使用的物理RAM比正在运行的应用程序实际使用的更多。
Mark Russinovitch的Vista Kernel posting对SuperFetch有一个很好的解释。
在一个有趣的例子中,原始任务管理器比Sysinternals Process Explorer更具信息性,Jeff Atwood在任务管理器中有Physical Memory usage with Superfetch的图片。
注意6MB的免费物理内存!
我不仅仅是懒惰 - 我们所有的32位测试机器都运行XP而且我只能访问64位Vista或Windows 7机器,所以我还是想听听人们如何影响32位系统
答案 0 :(得分:0)
暂时,答案是否它没有被包括在内 - 缓存的金额是单独累积的。
我在我的Vista x64机器上启用了SuperFetch(有趣的是,由于某些原因它已经关闭)并在GlobalMemoryStatusEx文档中构建了示例程序。在我的机器上几乎没有发生的情况下,该示例报告 50%正在使用的内存,但Windows任务管理器显示物理内存统计信息: