Windows 7的内存利用率{zg}Behind the Windows 7 memory usage ...

?Windows性能监控软件公司Devil Mountain Software发布了一篇简单报告,根据它监控的数十万台电脑上收集的数据,有86%的Windows 7机器使用了90-95%的物理内存,相比之下,Vista是80%,Win XP是40%。如此高的内存使用率显然和Windows Vista和Windows 7引入的SuperFetch技术有关,SuperFetch会预载入用户经常使用的程序数据,以加快启动速度。

It was claimed yesterday that Windows 7 machines are “” on memory, with 86 percent of Windows 7 machines using 90-95 percent of their physical memory. Craig Barth, CTO of Devil Mountain Software, a company developing performance monitoring software, cited data from his company’s XPnet community. Community members use a freely downloadable tool that periodically uploads performance data to the XPnet servers, and it’s this data, from a few tens of thousands of computers, that was used to justify the claim.

Having used Windows 7 in one form or another for more than a year, this struck me as a little surprising. The laptop I use most of the time is no powerhouse—the 1.2GHz Core 2 Duo processor is positively anemic, and the 64GB SSD cramped—but excessive memory usage (with all the consequent performance problems caused by excessive paging) has never been one of them. Sure, the laptop has a full 4GB of RAM, and since I’m using 64-bit Windows, all of that 4GB is available to the OS, but even under heavy usage, memory just hasn’t been a problem.

I installed the XPnet performance monitoring tool and waited for it to upload my data to see what it might be complaining about. The cause of the problem was immediately apparent. It’s no secret that Windows 7, just like Windows Vista before it, includes aggressive disk caching. The technology causes Windows to preload certain data if the OS detects that it is used regularly, even if there is no specific need for it at any given moment.

Though SuperFetch is a little less aggressive in Windows 7, it will still use a substantial amount of memory—but with an important proviso. The OS will only use memory for cache when there is no other demand for that memory. If an application needs lots of memory then Windows will discard cached data to make it available to the application. The rationale for this behavior is simple: memory that is currently not used by anything at all is memory that is wasted. Filling unused system memory with data from the disk just in case that data is useful is much better than leaving the memory unused. Why? Because if that data is needed—and SuperFetch strives to ensure that the data it loads is likely to be needed—having it already in memory means it can be used near-instantly, rather than having to wait tens of milliseconds to load it from disk.

Windows XP, with its “low” memory usage, does nothing like this, thereby “boasting” much higher free memory figures. But as should be obvious, such figures are nothing to boast about. Windows XP just allows a large proportion of system memory to go to waste.

Well that’s pretty awful! Big and red and {bfb} used!?

So it was little surprise that, upon checking my reported stats on XPnet, I found that I too was in the “alarming” position of having virtually no free memory. A quick glance at Task Manager revealed the truth. Though my “free” memory is indeed negligible, this is because so much is used by cache. The important number is not “free,” but “available.” The “available” memory includes both memory that is free, and memory that can be trivially made available, and this figure is far more representative of the true amount of memory available to applications. The vast majority of cached memory can be freed up near-instantly, since it is used up merely by cached data from disk.

The amount of “free” memory is not the only statistic tracked; the level of pagefile usage is also used, with anything above 5 percent being “bad.” Most Windows systems, even with ample available memory (as I have) will show some degree of pagefile usage, due to the vagaries of some of the ways Windows implements sharing and communication between processes. It’s a harmless artifact that causes no performance issue in practice.

Oh, but in reality it’s not a big deal at all. Phew!
Though this “Available” count is new in Windows 7—Windows Vista’s Task Manager just shows Total, Cached, and Free—this cache behavior is not new. For the company to misunderstand it (which it most certainly has; I doubt the level of free resources on my system has ever dropped to the level the chart shows) more than three years after Vista became available is quite astonishing.

One might almost think that this whole exercise was simply a cynical ploy. Allegations of Microsoft bloatware are, of course, nothing new, and oblique references to the old canard that what Intel gives, Microsoft takes away does nothing to dispel the impression that this is another case of Microsoft bashing.

如果我的文章真的对您有所帮助,请您支持我的生活点点滴滴,访问页面,看看谁在默默的赞助我

发表评论

(可以用豆瓣网的帐号登陆本站,发帖将以豆瓣头像显示)

您的昵称 *

您的邮箱 *

您的网站

郑重声明:资讯 【Windows 7的内存利用率{zg}Behind the Windows 7 memory usage ...】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——